private void threadStartScrapeInFollower() { TwitterDataScrapper dataScrapeer = new TwitterDataScrapper(); try { List<string> lst_structTweetFollowersIDs = new List<string>(); List<string> lst_structTweetFollowingsIds = new List<string>(); GlobusHttpHelper globusHttpHelper = new GlobusHttpHelper(); string user_id = string.Empty; int counter = 0; TweetAccountManager TweetLogin = new TweetAccountManager(); foreach (KeyValuePair<string, TweetAccountManager> item in TweetAccountContainer.dictionary_TweetAccount) { if (counter > TweetAccountContainer.dictionary_TweetAccount.Count) { counter = 0; } TweetLogin = new TweetAccountManager(); TweetLogin.Username = item.Key; TweetLogin.Password = item.Value.Password; TweetLogin.IPAddress = item.Value.IPAddress; TweetLogin.IPPort = item.Value.IPPort; TweetLogin.IPUsername = item.Value.IPUsername; TweetLogin.IPpassword = item.Value.IPpassword; AddToLog_Follower("[ " + DateTime.Now + " ] => [ Logging Process start for scrapping User ]"); TweetLogin.Login(); if (!TweetLogin.IsLoggedIn) { continue; } else { AddToLog_Follower("[ " + DateTime.Now + " ] => [ Logged in successful]"); globusHttpHelper = TweetLogin.globusHttpHelper; counter++; break; } } string ReturnStatus = string.Empty; if (!TweetLogin.IsLoggedIn) { AddToLog_Follower("[ " + DateTime.Now + " ] => [ Please Upload Atleast One Working Account To Get Details ]"); return; } //foreach (string keyword in listUserIDs)//foreach (string keyword in lstscrapeUsername) //{ string keyword = txtUserIDtoFollow.Text.Trim(); dataScrapeer.CounterDataNo = 500; listUserIDs.Clear(); txtlimitScrapeUsersINFollower.Invoke(new MethodInvoker(delegate { if (!string.IsNullOrEmpty(txtlimitScrapeUsersINFollower.Text) && NumberHelper.ValidateNumber(txtlimitScrapeUsersINFollower.Text)) { dataScrapeer.CounterDataNo = Convert.ToInt32(txtlimitScrapeUsersINFollower.Text); } })); if (counter > TweetAccountContainer.dictionary_TweetAccount.Count) { counter = 0; } if (chkboxScrapeFollowersInFollower.Checked) { try { if (!File.Exists(Globals.Path_ScrapedFollowersList)) { GlobusFileHelper.AppendStringToTextfileNewLine("Name/Id , FollowersUserID , Followers User Name", Globals.Path_ScrapedFollowersList); } string returnStatus = string.Empty; dataScrapeer.logEvents.addToLogger += new EventHandler(DataScraperlogger_addToLogger); // lst_structTweetFollowersIDs = dataScrapeer.GetFollowers_New(keyword.Trim(), out ReturnStatus, ref globusHttpHelper); lst_structTweetFollowersIDs = dataScrapeer.GetFollowers_New_WithNo_Followers(keyword.Trim(), out ReturnStatus, ref globusHttpHelper); AddToLog_Follower("[ " + DateTime.Now + " ] => [ Followers Scrapped ]"); //TwitterDataScrapper.logEvents.addToLogger -= new EventHandler(DataScraperlogger_addToLogger); if (lst_structTweetFollowersIDs.Count > 0) { //listUserIDs.Clear(); //string item=Globals.Path_ScrapedFollowersList.Split(':')[0]; if (Chk_IsFollowerUserId.Checked) { foreach (string item in lst_structTweetFollowersIDs) { string userid = item.Split(':')[0]; listUserIDs.Add(userid); } } else if (Chk_IsFollowerScreanName.Checked) { foreach (string item in lst_structTweetFollowersIDs) { string username = item.Split(':')[1]; listUserIDs.Add(username); } } if (lst_structTweetFollowersIDs.Count > 0) { //listUserIDs.AddRange(lst_structTweetFollowersIDs); AddToLog_Follower("[ " + DateTime.Now + " ] => [ Added " + lst_structTweetFollowersIDs.Count + " Followers from User: "******" ]"); AddToLog_Follower("[ " + DateTime.Now + " ] => [ Data Exported to " + Globals.Path_ScrapedFollowersList); } } else if (ReturnStatus.Contains("Sorry, that page does not exist")) { AddToLog_Follower("[ " + DateTime.Now + " ] => [ Sorry, That User does not exist =>" + ReturnStatus.Split(':')[1] + " ]"); //continue; } else if (ReturnStatus == "Account is Suspended. ") { AddToLog_Follower("[ " + DateTime.Now + " ] => [ Account " + keyword + " is Suspended. ]"); } else if (ReturnStatus == "Error") { AddToLog_Follower("[ " + DateTime.Now + " ] => [ Rate Limit Exceeded.Please Try After Some Time ]"); } else { AddToLog_Follower("[ " + DateTime.Now + " ] => [ " + keyword + " does not have any Followers ]"); } } catch (Exception ex) { Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> btnScrapeUser_Click() -- chkboxScrapeFollowers.Checked --> " + ex.Message, Globals.Path_ScrapeUsersErroLog); Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine("Error --> btnScrapeUser_Click() -- chkboxScrapeFollowers.Checked --> " + ex.Message, Globals.Path_TwtErrorLogs); } } if (chkboxScrapeFollowingsInFollower.Checked) { try { if (!File.Exists(Globals.Path_ScrapedFollowingsList)) { GlobusFileHelper.AppendStringToTextfileNewLine("Name/Id , FollowersUserID , Followers User Name", Globals.Path_ScrapedFollowingsList); } string returnStaus = string.Empty; dataScrapeer.logEvents.addToLogger += new EventHandler(DataScraperlogger_addToLogger); lst_structTweetFollowingsIds = dataScrapeer.GetFollowings_New(keyword.Trim(), out returnStaus, ref globusHttpHelper); AddToLog_Follower("[ " + DateTime.Now + " ] => [ Following Scrapped ]"); if (lst_structTweetFollowingsIds.Count > 0) { //listUserIDs.Clear(); if (Chk_IsFollowerUserId.Checked) { foreach (string item in lst_structTweetFollowingsIds) { string userid = item.Split(':')[0]; listUserIDs.Add(userid); } } else if (Chk_IsFollowerScreanName.Checked) { foreach (string item in lst_structTweetFollowingsIds) { string username = item.Split(':')[1]; listUserIDs.Add(username); } } // listUserIDs.AddRange(lst_structTweetFollowingsIds); //AddToScrapeLogs("[ " + DateTime.Now + " ] => [ Adding To DataBase and File ]"); if (lst_structTweetFollowingsIds.Count > 0) { AddToLog_Follower("[ " + DateTime.Now + " ] => [ Added " + lst_structTweetFollowingsIds.Count + " Followings from User: "******" ]"); AddToLog_Follower("[ " + DateTime.Now + " ] => [ Data Exported to " + Globals.Path_ScrapedFollowingsList + " ]"); } } else if (ReturnStatus.Contains("Sorry, that page does not exist")) { AddToLog_Follower("[ " + DateTime.Now + " ] => [ Sorry, That User does not exist =>" + ReturnStatus.Split(':')[1] + " ]"); //continue; } else if (ReturnStatus == "Account is Suspended. ") { AddToLog_Follower("[ " + DateTime.Now + " ] => [ Account " + keyword + " is Suspended. ]"); } else if (ReturnStatus == "Error") { AddToLog_Follower("[ " + DateTime.Now + " ] => [ Rate Limit Exceeded.Please Try After Some Time ]"); } else { AddToLog_Follower("[ " + DateTime.Now + " ] => [ " + keyword + " User does not exist ]"); } } catch (Exception ex) { Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> btnScrapeKeyword_Click() -- lst_structTweetFollowingsIds foreach --> " + ex.Message, Globals.Path_ScrapeUsersErroLog); Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine("Error --> btnScrapeKeyword_Click() -- lst_structTweetFollowingsIds foreach --> " + ex.Message, Globals.Path_TwtErrorLogs); } } //break; //Globals.lstScrapedUserIDsInFollower = Globals.lstScrapedUserIDsInFollower.Distinct().ToList(); } catch (Exception) { } finally { IsStart_ScrapUser = true; dataScrapeer.logEvents.addToLogger -= new EventHandler(DataScraperlogger_addToLogger); } }