private void ScrapeKeywordSeacrh() { try { TwitterDataScrapper TweetData = new TwitterDataScrapper(); if (!string.IsNullOrEmpty(txtRecords.Text) && NumberHelper.ValidateNumber(txtRecords.Text)) { TweetData.noOfRecords = Convert.ToInt32(txtRecords.Text); } else { TweetData.noOfRecords = 100; } //List<TwitterDataScrapper.StructTweetIDs> data = TweetData.GetTweetData(txtScrapeKeyword.Text); List<TwitterDataScrapper.StructTweetIDs> data = TweetData.KeywordStructData(txtScrapeKeyword.Text); data = DistinctDataList(data); if (!(data.Count() > 0)) { AddToScrapeLogs("Request Not Complted"); AddToScrapeLogs("Requesting For 100 USer ids"); data = TweetData.GetTweetData(txtScrapeKeyword.Text); } AddToScrapeLogs(data.Count + " User ids Scraped "); AddToScrapeLogs("Please Wait Till Data Is Retrieving"); int counter = 0; if (!File.Exists(Globals.Path_KeywordScrapedList)) { GlobusFileHelper.AppendStringToTextfileNewLine("Keyword , User-id , Username" , Globals.Path_KeywordScrapedList); } foreach (TwitterDataScrapper.StructTweetIDs item in data) { if (!string.IsNullOrEmpty(item.username__Tweet_User) && item.ID_Tweet_User != "null") { Globals.lstScrapedUserIDs.Add(item.ID_Tweet_User); GlobusFileHelper.AppendStringToTextfileNewLine(txtScrapeKeyword.Text + "," + item.ID_Tweet_User + "," + item.username__Tweet_User, Globals.Path_KeywordScrapedList); //AddToScrapeLogs(item.ID_Tweet_User); } } //AddToScrapeLogs("Retrieving data"); AddToScrapeLogs("Adding Data To DataBase"); Globals.lstScrapedUserIDs = Globals.lstScrapedUserIDs.Distinct().ToList(); if (!File.Exists(Globals.Path_KeywordScrapedList)) { GlobusFileHelper.AppendStringToTextfileNewLine("KEYWORD:USER ID:USERNAME ", Globals.Path_KeywordScrapedList); } new Thread(() => { foreach (TwitterDataScrapper.StructTweetIDs item in data) { if (!string.IsNullOrEmpty(item.username__Tweet_User) && item.ID_Tweet_User != "null") { AddToScrapeLogs(item.ID_Tweet_User); clsDBQueryManager DataBase = new clsDBQueryManager(); DataBase.InsertOrUpdateScrapeSetting(item.ID_Tweet_User, item.username__Tweet_User, item.ID_Tweet); } } }).Start(); if (Globals.IsDirectedFromFollower) { Thread.Sleep(1000); Globals.IsDirectedFromFollower = false; AddToLog_Follower(data.Count + " User ids Scraped and Added To Follow List"); tabMain.Invoke(new MethodInvoker(delegate { tabMain.SelectedIndex = 2; })); //tabMain.SelectedIndex = 2; } } catch (Exception ex) { Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> ScrapeKeywordSeacrh() --> " + ex.Message, Globals.Path_ScrapeUsersErroLog); Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine("Error --> ScrapeKeywordSeacrh() --> " + ex.Message, Globals.Path_TwtErrorLogs); } }
private void btn_FollowByKeyWordStart_Click(object sender, EventArgs e) { TweetAccountManager TweetAccountManager = new TweetAccountManager(); TwitterDataScrapper TwitterDataScrapper = new TwitterDataScrapper(); int FollowLimitCounter = 0; int AccountCounter = 0; if (TweetAccountContainer.dictionary_TweetAccount.Count > 0) { try { foreach (KeyValuePair<string, TweetAccountManager> item in TweetAccountContainer.dictionary_TweetAccount) { string profileUsername = string.Empty; string profileUserpass = string.Empty; profileUsername = item.Key; profileUserpass = item.Value.Password; //******search profile By keyWords string SeachKey = string.Empty; List<TwitterDataScrapper.StructTweetIDs> KeywordStructData = new List<TwitterDataScrapper.StructTweetIDs>(); if (FollowtweetKeywordList.Count != 0) { SeachKey = FollowtweetKeywordList[AccountCounter]; KeywordStructData = TwitterDataScrapper.KeywordStructData(SeachKey); } else { MessageBox.Show("Please Upload Keywords"); break; } //************* try { if (KeywordStructData.Count > 0) { foreach (var item1 in KeywordStructData) { //accordint to get Follow users limits if (FollowLimitCounter >= (int.Parse(txt_FollowByPerAccount.Text))) { FollowLimitCounter = 0; break; } else { FollowLimitCounter++; } //Get follow from user string AccountId = item1.ID_Tweet_User; getFollowUserBySearch(new object[] { item, AccountId }); } } else { //Message List is Empty AddToLog_Follower("Key Word File is Empty or Wrong Formate"); break; } } catch (Exception) { } //if (AccountCounter > FollowtweetKeywordList.Count) // AccountCounter = 0; if (AccountCounter > TweetAccountContainer.dictionary_TweetAccount.Count) { AccountCounter = 0; } else { AccountCounter++; } } } catch (Exception) { } } else { MessageBox.Show("Please Upload Twitter Account"); AddToLog_Follower("Please Upload Twitter Account"); } }