public List<string> GetNonFollowingsBeforeSpecifiedDate(int noOfDays, ref TweetAccountManager AcManger) { TwitterDataScrapper followingScrapper = new TwitterDataScrapper(); string status = string.Empty; followingScrapper.CounterDataNo = noOfUnfollows; List<string> followers = followingScrapper.GetFollowers_New(AcManger.Screen_name, out status, ref AcManger.globusHttpHelper); List<string> followings = followingScrapper.GetFollowings_New(AcManger.Screen_name, out status, ref AcManger.globusHttpHelper); List<string> nonFollowings = followings.Except(followers).ToList(); List<string> requiredNonFollowingList = new List<string>(); ///Get list of Already Followings clsDBQueryManager queryManager = new clsDBQueryManager(); DataTable dt_AlreadyFollowed = queryManager.SelectFollowData(Username); foreach (DataRow item in dt_AlreadyFollowed.Rows) { string user_AlreadyFollowed = item["following_id"].ToString(); if (nonFollowings.Exists(s => ((s.Split(':')[0]) == user_AlreadyFollowed))) { DateTime dt_Now = DateTime.Today; string DateFollowed = item["DateFollowed"].ToString(); DateTime dt_DateFollowed1 = Convert.ToDateTime(DateFollowed); //DateTime dt_DateFollowed = DateTime.Parse(String.Format("{0:d/M/yyyy HH:mm:ss}", dt_DateFollowed1)); DateTime dt_DateFollowed = dt_DateFollowed1; TimeSpan dt_Difference = dt_Now.Subtract(dt_DateFollowed); double dt_Difference1 = dt_Difference.Days; if (dt_Difference.Days >= noOfDays) { requiredNonFollowingList.Add(user_AlreadyFollowed); } } } return requiredNonFollowingList; }
public void StartCampaign() { try { AddToLog_Follower("[ " + DateTime.Now + " ] => [ Starting Campaign ]"); string KeywordList = string.Empty; string UsernameList = string.Empty; if (Globals.Array[3] == "Username") { Globals.Campaign_Name = Globals.Array[0]; Globals.IsCampaign = true; AddToLog_Follower("[ " + DateTime.Now + " ] => [ Getting Followers & Following ]"); UsernameList = Globals.Array[1]; ReloadAccountsFromDataBase(); Globussoft.GlobusHttpHelper globusHttpHelper = new GlobusHttpHelper(); if (File.Exists(UsernameList)) { List<string> LstUsernameCampiagn = GlobusFileHelper.ReadLargeFile(UsernameList); listUserIDs = new List<string>(); List<string> ListUsername = new List<string>(); foreach (KeyValuePair<string, TweetAccountManager> item in TweetAccountContainer.dictionary_TweetAccount) { if (counter > TweetAccountContainer.dictionary_TweetAccount.Count) { counter = 0; } TweetAccountManager TweetLogin = new TweetAccountManager(); TweetLogin.Username = item.Key; TweetLogin.Password = item.Value.Password; TweetLogin.proxyAddress = item.Value.proxyAddress; TweetLogin.proxyPort = item.Value.proxyPort; TweetLogin.proxyUsername = item.Value.proxyUsername; TweetLogin.proxyPassword = item.Value.proxyPassword; TweetLogin.Login(); if (!TweetLogin.IsNotSuspended) { continue; } globusHttpHelper = TweetLogin.globusHttpHelper; counter++; break; } foreach (string keyword in LstUsernameCampiagn) { TwitterDataScrapper dataScrapeer = new TwitterDataScrapper(); try { string FollowerStatus = string.Empty; string FollowingStatus = string.Empty; AddToLog_Follower("[ " + DateTime.Now + " ] => [ Scraping Followers For : " + keyword + " ]"); dataScrapeer.CounterDataNo = 2000; dataScrapeer.logEvents.addToLogger += new EventHandler(logEvents_Follower_addToLogger); List<string> followerList = dataScrapeer.GetFollowers_New(keyword, out FollowerStatus, ref globusHttpHelper); if (followerList.Count != 0) { try { List<string> Temp_followers = new List<string>(); followerList.ForEach(s => { if (s.Contains(":")) { Temp_followers.Add(s.Split(':')[0]); } else { Temp_followers.Add(s.ToString()); } }); if (Temp_followers.Count != 0) { followerList.Clear(); followerList.AddRange(Temp_followers); } } catch { }; } followerList.ForEach(s => s.Split(':')); dataScrapeer.logEvents.addToLogger -= new EventHandler(logEvents_Follower_addToLogger); AddToLog_Follower("[ " + DateTime.Now + " ] => [ Follower For " + keyword + " >> " + followerList.Count + " ]"); if (FollowerStatus == "No Error") { foreach (string lst in followerList) { listUserIDs.Add(lst); } } Thread.Sleep(5000); AddToLog_Follower("[ " + DateTime.Now + " ] => [ Scraping Followings For : " + keyword + " ]"); dataScrapeer.logEvents.addToLogger += new EventHandler(logEvents_Follower_addToLogger); List<string> followingList = dataScrapeer.GetFollowings_New(keyword, out FollowingStatus, ref globusHttpHelper); dataScrapeer.logEvents.addToLogger -= new EventHandler(logEvents_Follower_addToLogger); AddToLog_Follower("[ " + DateTime.Now + " ] => [ Following For " + keyword + " >> " + followingList.Count + " ]"); if (FollowingStatus == "No Error") { foreach (string lst in followerList) { listUserIDs.Add(lst); } } Thread.Sleep(5000); } catch (Exception ex) { Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> StartingCampaign() -- chkboxScrapeFollowers.Checked --> " + ex.Message, Globals.Path_ScrapeUsersErroLog); Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine("Error --> StartingCampaign() -- chkboxScrapeFollowers.Checked --> " + ex.Message, Globals.Path_TwtErrorLogs); } } StartFollowing(); } else { AddToLog_Follower("[ " + DateTime.Now + " ] => [ File : " + UsernameList + ". Does Not Exsist ]"); } } else if (Globals.Array[3] == "Keyword") { KeywordList = Globals.Array[2]; ReloadAccountsFromDataBase(); if (File.Exists(KeywordList)) { List<string> KeywordListdata = GlobusFileHelper.ReadLargeFile(KeywordList); List<TwitterDataScrapper.StructTweetIDs> ids = new List<TwitterDataScrapper.StructTweetIDs>(); foreach (string id in KeywordListdata) { TwitterDataScrapper dataScrpeer = new TwitterDataScrapper(); TwitterDataScrapper.noOfRecords = 2000; AddToLog_Follower("[ " + DateTime.Now + " ] => [ Scraping Users From Keyword : " + id + " ]"); dataScrpeer.logEvents.addToLogger += new EventHandler(logEvents_Follower_addToLogger); ids = dataScrpeer.NewKeywordStructData(id); dataScrpeer.logEvents.addToLogger -= new EventHandler(logEvents_Follower_addToLogger); AddToLog_Follower("[ " + DateTime.Now + " ] => [ Total Users From Keyword : " + id + " : " + ids.Count + " ]"); foreach (TwitterDataScrapper.StructTweetIDs lst in ids) { listUserIDs.Add(lst.ID_Tweet_User); } } StartFollowing(); } else { AddToLog_Follower("[ " + DateTime.Now + " ] => [ File : " + KeywordList + ".Does Not Exsist ]"); } } } catch (Exception ex) { GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> Campaign --> startFlyCreationEvent_addToLogger() --> " + ex.Message, Globals.Path_CampaignManager); } }
private void threadStartScrapeInTweetMentionUser() { 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.proxyAddress = item.Value.proxyAddress; TweetLogin.proxyPort = item.Value.proxyPort; TweetLogin.proxyUsername = item.Value.proxyUsername; TweetLogin.proxyPassword = item.Value.proxyPassword; AddToLog_Tweet("[ " + DateTime.Now + " ] => [ Logging Process start for scrapping User ]"); TweetLogin.Login(); if (!TweetLogin.IsLoggedIn) { continue; } else { AddToLog_Tweet("[ " + DateTime.Now + " ] => [ Logged in successful]"); globusHttpHelper = TweetLogin.globusHttpHelper; counter++; break; } } string ReturnStatus = string.Empty; if (!TweetLogin.IsLoggedIn) { AddToLog_Tweet("[ " + DateTime.Now + " ] => [ Please Upload Atleast One Working Account To Get Details ]"); return; } //foreach (string keyword in listUserIDs)//foreach (string keyword in lstscrapeUsername) //{ string keyword = txtTweetScrapUserData.Text.Trim(); dataScrapeer.CounterDataNo = 100; listUserIDs.Clear(); txtlimitScrapeUsersINFollower.Invoke(new MethodInvoker(delegate { if (!string.IsNullOrEmpty(txtTweetEnteNoofUser.Text) && NumberHelper.ValidateNumber(txtTweetEnteNoofUser.Text)) { dataScrapeer.CounterDataNo = Convert.ToInt32(txtTweetEnteNoofUser.Text); } })); if (counter > TweetAccountContainer.dictionary_TweetAccount.Count) { counter = 0; } if (chkTweetScrapFollowers.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(logEvents_Tweet_addToLogger); lst_structTweetFollowersIDs = dataScrapeer.GetFollowers_New(keyword.Trim(), out ReturnStatus, ref globusHttpHelper); dataScrapeer.logEvents.addToLogger -= new EventHandler(logEvents_Tweet_addToLogger); AddToLog_Tweet("[ " + 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(':')[1]; lst_mentionUser.Add(userid); } } if (lst_structTweetFollowersIDs.Count > 0) { //listUserIDs.AddRange(lst_structTweetFollowersIDs); AddToLog_Tweet("[ " + DateTime.Now + " ] => [ Added " + lst_structTweetFollowersIDs.Count + " Followers from User: "******" ]"); AddToLog_Tweet("[ " + DateTime.Now + " ] => [ Data Exported to " + Globals.Path_ScrapedFollowersList); } } else if (ReturnStatus.Contains("Sorry, that page does not exist")) { AddToLog_Tweet("[ " + DateTime.Now + " ] => [ Sorry, That User does not exist =>" + ReturnStatus.Split(':')[1] + " ]"); //continue; } else if (ReturnStatus == "Account is Suspended. ") { AddToLog_Tweet("[ " + DateTime.Now + " ] => [ Account " + keyword + " is Suspended. ]"); } else if (ReturnStatus == "Error") { AddToLog_Tweet("[ " + DateTime.Now + " ] => [ Rate Limit Exceeded.Please Try After Some Time ]"); } else { AddToLog_Tweet("[ " + 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 (chkRetweetScrapFollowings.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(logEvents_Tweet_addToLogger); lst_structTweetFollowingsIds = dataScrapeer.GetFollowings_New(keyword.Trim(), out returnStaus, ref globusHttpHelper); AddToLog_Tweet("[ " + 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(':')[1]; lst_mentionUser.Add(userid); } } if (lst_structTweetFollowingsIds.Count > 0) { AddToLog_Tweet("[ " + DateTime.Now + " ] => [ Added " + lst_structTweetFollowingsIds.Count + " Followings from User: "******" ]"); AddToLog_Tweet("[ " + DateTime.Now + " ] => [ Data Exported to " + Globals.Path_ScrapedFollowingsList + " ]"); } } else if (ReturnStatus.Contains("Sorry, that page does not exist")) { AddToLog_Tweet("[ " + DateTime.Now + " ] => [ Sorry, That User does not exist =>" + ReturnStatus.Split(':')[1] + " ]"); //continue; } else if (ReturnStatus == "Account is Suspended. ") { AddToLog_Tweet("[ " + DateTime.Now + " ] => [ Account " + keyword + " is Suspended. ]"); } else if (ReturnStatus == "Error") { AddToLog_Tweet("[ " + DateTime.Now + " ] => [ Rate Limit Exceeded.Please Try After Some Time ]"); } else { AddToLog_Tweet("[ " + 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); } } } catch (Exception) { } finally { IsStart_ScrapUser = true; dataScrapeer.logEvents.addToLogger -= new EventHandler(logEvents_Tweet_addToLogger); } }
/// <summary> /// Get Followers ID from page source /// when APi is not working ... /// </summary> /// <param name="userID"></param> /// <param name="Ghelper"></param> /// <returns></returns> public List<string> GetFollowersUsingUserID1(string userID, GlobusHttpHelper Ghelper) { List<string> list_Followers = new List<string>(); TwitterDataScrapper followerScrapper = new TwitterDataScrapper(); string returnstatus = string.Empty; list_Followers = followerScrapper.GetFollowers_New(userID, out returnstatus, ref Ghelper); //list_Followers = followerScrapper.GetFollowers1(userID, out returnstatus, Ghelper); //AddToLog_Follower(returnstatus);GetFollowers_New return list_Followers; }
private void threadStartScrape() { 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(); string ReturnStatus = string.Empty; Globals.IsMobileVersion = true; if (!Globals.IsMobileVersion) { 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.proxyAddress = item.Value.proxyAddress; TweetLogin.proxyPort = item.Value.proxyPort; TweetLogin.proxyUsername = item.Value.proxyUsername; TweetLogin.proxyPassword = item.Value.proxyPassword; TweetLogin.Login(); if (!TweetLogin.IsLoggedIn) { continue; } else { globusHttpHelper = TweetLogin.globusHttpHelper; counter++; break; } } if (!TweetLogin.IsLoggedIn) { AddToScrapeLogs("[ " + DateTime.Now + " ] => [ Please Upload Atleast One Working Account To Get Details ]"); return; } } foreach (string keyword in lstscrapeUsername) { dataScrapeer.CounterDataNo = 500; txtlimitScrapeUsers.Invoke(new MethodInvoker(delegate { if (!string.IsNullOrEmpty(txtlimitScrapeUsers.Text) && NumberHelper.ValidateNumber(txtlimitScrapeUsers.Text)) { dataScrapeer.CounterDataNo = Convert.ToInt32(txtlimitScrapeUsers.Text); } })); if (counter > TweetAccountContainer.dictionary_TweetAccount.Count) { counter = 0; } if (chkboxScrapeFollowers.Checked) { try { if (!File.Exists(Globals.Path_ScrapedFollowersList)) { // GlobusFileHelper.AppendStringToTextfileNewLine("Name/Id , FollowersUserID , Followers User Name", Globals.Path_ScrapedFollowersList); GlobusFileHelper.AppendStringToTextfileNewLine("Name/Id , Followers User Name", Globals.Path_ScrapedFollowersList); } try { dataScrapeer.logEvents.addToLogger += new EventHandler(DataScraperlogger_addToLogger); if (!Globals.IsMobileVersion) { lst_structTweetFollowersIDs = dataScrapeer.GetFollowers_New(keyword.Trim(), out ReturnStatus, ref globusHttpHelper); } else { lst_structTweetFollowersIDs = dataScrapeer.GetFollowers_New_ForMobileVersion(keyword.Trim(), out ReturnStatus, ref globusHttpHelper); } dataScrapeer.logEvents.addToLogger -= new EventHandler(DataScraperlogger_addToLogger); } catch (Exception ex) { } if (lst_structTweetFollowersIDs.Count > 0) { //AddToScrapeLogs("[ " + DateTime.Now + " ] => [ Adding To DataBase and File ]"); //AddToScrapeLogs("[ " + DateTime.Now + " ] => [ Added " + lst_structTweetFollowersIDs.Count + " Followers to list ]"); //foreach (string data in lst_structTweetFollowersIDs) //{ // try // { // string[] arr_data = data.Split(':'); // Globals.lstScrapedUserIDs.Add(arr_data[0]); // GlobusFileHelper.AppendStringToTextfileNewLine(keyword + "," + arr_data[0] + "," + arr_data[1], Globals.Path_ScrapedFollowersList); // } // catch (Exception ex) // { // Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> btnScrapeKeyword_Click() -- lst_structTweetFollowersIDs foreach --> " + ex.Message, Globals.Path_ScrapeUsersErroLog); // Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine("Error --> btnScrapeKeyword_Click() -- lst_structTweetFollowersIDs foreach --> " + ex.Message, Globals.Path_TwtErrorLogs); // } //} AddToScrapeLogs("[ " + DateTime.Now + " ] => [ Added " + lst_structTweetFollowersIDs.Count + " Followers from User: "******" ]"); AddToScrapeLogs("[ " + DateTime.Now + " ] => [ Data Exported to " + Globals.Path_ScrapedFollowersList); if (Globals.IsDirectedFromFollower) { AddToLog_Follower("[ " + DateTime.Now + " ] => [ Added " + lst_structTweetFollowersIDs.Count + " Followers from User: "******" ]"); Thread.Sleep(1000); } } else if (ReturnStatus.Contains("Sorry, that page does not exist")) { AddToScrapeLogs("[ " + DateTime.Now + " ] => [ Sorry, That User does not exist =>" + ReturnStatus.Split(':')[1] + " ]"); continue; } else if (ReturnStatus == "Account is Suspended. ") { AddToScrapeLogs("[ " + DateTime.Now + " ] => [ Account " + keyword + " is Suspended. ]"); } else if (ReturnStatus == "Error") { AddToScrapeLogs("[ " + DateTime.Now + " ] => [ Rate Limit Exceeded.Please Try After Some Time ]"); } else { AddToScrapeLogs("[ " + DateTime.Now + " ] => [ " + keyword + " User does not exist ]"); } } 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 (chkboxScrapeFollowings.Checked) { try { if (!File.Exists(Globals.Path_ScrapedFollowingsList)) { // GlobusFileHelper.AppendStringToTextfileNewLine("Name/Id , FollowingsUserID , Following User Name", Globals.Path_ScrapedFollowingsList); GlobusFileHelper.AppendStringToTextfileNewLine("Name/Id , Following User Name", Globals.Path_ScrapedFollowingsList); } string returnStaus = string.Empty; string Screen_name = string.Empty; dataScrapeer.logEvents.addToLogger += new EventHandler(DataScraperlogger_addToLogger); // GlobusHttpHelper globusHttpHelper1 = new GlobusHttpHelper(); if (!Globals.IsMobileVersion) { lst_structTweetFollowingsIds = dataScrapeer.GetFollowings_New(keyword.Trim(), out returnStaus, ref globusHttpHelper); } else { lst_structTweetFollowingsIds = dataScrapeer.GetFollowings_NewForMobileVersion(keyword.Trim(), out returnStaus, ref globusHttpHelper); } if (lst_structTweetFollowingsIds.Count > 0) { if (lst_structTweetFollowingsIds.Count > 0) { AddToScrapeLogs("[ " + DateTime.Now + " ] => [ Added " + lst_structTweetFollowingsIds.Count + " Followings from User: "******" ]"); AddToScrapeLogs("[ " + DateTime.Now + " ] => [ Data Exported to " + Globals.Path_ScrapedFollowingsList + " ]"); if (Globals.IsDirectedFromFollower) { AddToLog_Follower("[ " + DateTime.Now + " ] => [ Added " + lst_structTweetFollowingsIds.Count + " Followings from User: "******" ]"); Thread.Sleep(1000); //Tb_AccountManager.Invoke(new MethodInvoker(delegate //{ // Tb_AccountManager.SelectedIndex = 2; //})); //tabMain.SelectedIndex = 2; } } else if (returnStaus == "Error") { AddToScrapeLogs("[ " + DateTime.Now + " ] => [ Rate Limit Exceeded.Please Try After Some Time ]"); break; } } else { AddToScrapeLogs("[ " + DateTime.Now + " ] => [ " + keyword + " User does not have any followings ]"); } } 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); } } Globals.lstScrapedUserIDs = Globals.lstScrapedUserIDs.Distinct().ToList(); } Globals.IsMobileVersion = false; new Thread(() => { try { List<string> temp = new List<string>(); foreach (string item in Globals.lstScrapedUserIDs) { temp.Add(item); } foreach (string data in temp) { try { clsDBQueryManager DataBase = new clsDBQueryManager(); DataBase.InsertOrUpdateScrapeSetting(data, "", ""); } catch (Exception ex) { Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> lstScrapedUserIDs --> " + ex.Message, Globals.Path_ScrapeUsersErroLog); Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine("Error --> lstScrapedUserIDs --> " + ex.Message, Globals.Path_TwtErrorLogs); } } } catch (Exception) { } }).Start(); AddToScrapeLogs("[ " + DateTime.Now + " ] => [ PROCESS COMPLETED ]"); AddToScrapeLogs("------------------------------------------------------------------------------------------------------------------------------------------"); //if (IsUserScrapedDatalist) //{ // Tb_AccountManager.Invoke(new MethodInvoker(delegate // { // Tb_AccountManager.SelectedIndex = 0; // //Tb_AccountManager.SelectedTab.Name = "tabFollower"; // })); //} } catch (Exception) { } finally { IsStart_ScrapUser = true; dataScrapeer.logEvents.addToLogger -= new EventHandler(DataScraperlogger_addToLogger); } }