Пример #1
0
        private void Timer2_Tick(object sender, EventArgs e)
        {
            timer2.Stop();
            Log("Starting scraping process.");

            double numberofdays = MainQuery.until.Subtract(MainQuery.since).TotalDays;
            double ThreadDays   = Math.Floor(numberofdays / NumberOfThreads) * -1;

            int i;
            TwitterCreiteriaQuestion tempQuery = (TwitterCreiteriaQuestion)MainQuery.Clone();

            tempQuery.until = MainQuery.until;
            tempQuery.since = tempQuery.until.AddDays(ThreadDays);

            for (i = 1; i < NumberOfThreads; i++)
            {
                AddWorker(tempQuery, i);
                tempQuery.until = tempQuery.since;
                tempQuery.since = tempQuery.until.AddDays(ThreadDays);
            }

            if (tempQuery.since > MainQuery.since)
            {
                tempQuery.since = MainQuery.since;
            }

            AddWorker(tempQuery, i);
        }
Пример #2
0
        private void PrepareQuery()
        {
            TwitterCreiteriaQuestion q = new TwitterCreiteriaQuestion();

            q.AllFrom            = ConcatItems(lstFromAllUsers);
            q.AllHashtags        = ConcatItems(lstAllHashtags);
            q.AllMention         = ConcatItems(lstAnyHashtags);
            q.AllTo              = ConcatItems(lstToAllUSers);
            q.AllWordsAndPhrase  = ConcatItems(AllWordsAndPhrase);
            q.AnyFrom            = ConcatItems(lstFromAnyUsers);
            q.AnyHashtags        = ConcatItems(lstAnyHashtags);
            q.AnyMention         = ConcatItems(lstAnyMentions);
            q.AnyTo              = ConcatItems(lstToAnyUsers);
            q.AnyWordsAndPhrase  = ConcatItems(AnyWordsAndPhrase);
            q.SkipWordsAndPhrase = ConcatItems(SkipWordsAndPhrase);
            q.SkipFromUsers      = ConcatItems(lstSkipFromUsers);
            q.SkipToUsers        = ConcatItems(lstSkipToUsers);
            q.SkipMentions       = ConcatItems(lstSkipMentions);

            q.lang      = GetLanguage(Lang.SelectedText);
            q.maxtweets = Convert.ToInt32(MaxTweets.Text);
            q.near      = Near.Text;
            q.within    = Within.Text;
            q.since     = Since.Value.Date;
            q.until     = Until.Value.Date;
            q.toptweets = false;

            Query = q;
        }
Пример #3
0
        public frmTestQuery(TwitterCreiteriaQuestion Query, int InternetSpeed)
        {
            InitializeComponent();

            Query.maxtweets = 1000;

            this.TwitterQuery  = Query;
            this.InternetSpeed = InternetSpeed;
        }
Пример #4
0
        public ScraperWindow(int NumberOfThreads, TwitterCreiteriaQuestion TwitterQuery, String SaveFolderParth)
        {
            InitializeComponent();

            this.NumberOfThreads = NumberOfThreads;
            this.MainQuery       = TwitterQuery;
            this.MainDirectory   = SaveFolderParth;

            workers = new List <Scraper>();
        }
Пример #5
0
        public frmTestQuery(TwitterCreiteriaQuestion Query, int InternetSpeed)//ScrapeType function,
        {
            InitializeComponent();

            Query.maxtweets = 1000;

            this.TwitterQuery  = Query;
            this.InternetSpeed = InternetSpeed;
            perf = new Performance(Process.GetCurrentProcess());
        }
Пример #6
0
        private void AddWorker(TwitterCreiteriaQuestion tempQuery, int i)
        {
            Scraper scraper = new Scraper(tempQuery, true, MainDirectory, i);

            scraper.TweetsProcessed  += Scraper_TweetsProcessed;
            scraper.ScraperCompleted += Scraper_ScraperCompleted;
            workers.Add(scraper);

            scraper.StartAsync();

            InvokeUI(() =>
            {
                ListViewItem itm = new ListViewItem(i.ToString());
                itm.SubItems.Add("0");
                itm.SubItems.Add("Calculating");
                listView1.Items.Add(itm);
            });

            Log("Thread " + i.ToString() + " started");
        }