private void ScrapeMemberSeacrh() { try { lstIsStopScrapMember.Add(Thread.CurrentThread); lstIsStopScrapMember.Distinct(); Thread.CurrentThread.IsBackground = true; } catch { } try { TwitterDataScrapper TweetData = new TwitterDataScrapper(); GlobusHttpHelper globusHttpHelper = new GlobusHttpHelper(); int counter = 0; TweetAccountManager TweetLogin = new TweetAccountManager(); txtlimitScrapeUsers.Invoke(new MethodInvoker(delegate { if (!string.IsNullOrEmpty(txtlimitScrapeUsers.Text.Trim()) && NumberHelper.ValidateNumber(txtlimitScrapeUsers.Text.Trim())) { noOfRecords = Convert.ToInt32(txtlimitScrapeUsers.Text.Trim()); if (noOfRecords == 0) { AddToLog_ScrapMember("[ " + DateTime.Now + " ] => [ Do not put Zero value ]"); AddToLog_ScrapMember("[ " + DateTime.Now + " ] => [ Default number of records is 50 ]"); noOfRecords = 50; } } else { AddToLog_ScrapMember("[ " + DateTime.Now + " ] => [ please enter value in number of users ]"); return; } })); foreach (KeyValuePair <string, TweetAccountManager> item in TweetAccountContainer.dictionary_TweetAccount) { AddToLog_ScrapMember("[ " + DateTime.Now + " ] => [ Login process starting]"); 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; TweetLogin.Login(); if (!TweetLogin.IsLoggedIn) { continue; } else { AddToLog_ScrapMember("[ " + DateTime.Now + " ] => [ Login process successful]"); globusHttpHelper = TweetLogin.globusHttpHelper; counter++; break; } } if (!TweetLogin.IsLoggedIn) { AddToLog_ScrapMember("[ " + DateTime.Now + " ] => [ Please Upload Atleast One Working Account To Get Details ]"); return; } AddToLog_ScrapMember("[ " + DateTime.Now + " ] => [ Scraping User ]"); foreach (string item in lstUrl) { string tempItem = string.Empty; if (!item.Contains("https://twitter.com")) { tempItem = "https://twitter.com" + item; } else { tempItem = item; } List <string> lstMember = new List <string>(); string returnStatus = string.Empty; getTweetUsers(item, ref globusHttpHelper); //lstMember = GetMembers(item, ref globusHttpHelper, out returnStatus); AddToLog_ScrapMember("[ " + DateTime.Now + " ] => [ Scraped Member for Url " + item + "]"); } } catch { } }
private void StartUnFollowingMultithreaded(object parameters) { try { if (IsStopFollowYourFollowers) { return; } // if (!IsStopFollowYourFollowers) { lstIsStopFollowYourFollowers.Add(Thread.CurrentThread); lstIsStopFollowYourFollowers.Distinct(); Thread.CurrentThread.IsBackground = true; } Array paramsArray = new object[2]; paramsArray = (Array)parameters; int NoOfFollwos = 0; KeyValuePair <string, TweetAccountManager> keyValue = (KeyValuePair <string, TweetAccountManager>)paramsArray.GetValue(0); string NofUnfollows = (string)paramsArray.GetValue(1); if (!string.IsNullOrEmpty(NofUnfollows) && NumberHelper.ValidateNumber(NofUnfollows)) { NoOfFollwos = Int32.Parse(NofUnfollows); } bool OtherUser = false; frmMain_NewUI.IsFollowerScreenName = true; List <string> list_userIDsToFollow = new List <string>(); TweetAccountManager tweetAccountManager = keyValue.Value; AddToLog_follow("[ " + DateTime.Now + " ] => [following Process Started For Account : " + keyValue.Key + " ]"); //Add to Threads Dictionary //AddThreadToDictionary(strModule(Module.Follow), tweetAccountManager.Username); tweetAccountManager.unFollower.logEvents.addToLogger += new EventHandler(logEvents_Follower_addToLogger); tweetAccountManager.logEvents.addToLogger += logEvents_Follower_addToLogger; if (!tweetAccountManager.IsLoggedIn) { tweetAccountManager.Login(); } if (!tweetAccountManager.IsLoggedIn) { AddToLog_follow("[ " + DateTime.Now + " ] => [ Not Logged In With Account : " + keyValue.Key + " ]"); return; } //////////////temp mehtod { } //AddToLog_Unfollow("Checking for Persons Not Followed Back"); Thread thread_UnFollowing = null; //Check Test box and anf useing feature box is checked TwitterDataScrapper objTwitterDataScrapper = new TwitterDataScrapper(); //if (rdoFollowYourFollowers.Checked) //thread_UnFollowing = new Thread(() => //{ // list_userIDsToFollow = tweetAccountManager.GetFollowYourFollowersList(); //}); list_userIDsToFollow = tweetAccountManager.GetFollowYourFollowersList(); if (GlobusRegex.ValidateNumber(txtfollowMinDelay.Text)) { followMinDelay = Convert.ToInt32(txtfollowMinDelay.Text); } if (GlobusRegex.ValidateNumber(txtfollowMaxDelay.Text)) { followMaxDelay = Convert.ToInt32(txtfollowMaxDelay.Text); } if (list_userIDsToFollow.Count > 0) { tweetAccountManager.FollowUsingURLs(list_userIDsToFollow, followMinDelay, followMaxDelay, OtherUser); } else { AddToLog_follow("[ " + DateTime.Now + " ] => [ No user id is available for Account : " + keyValue.Key + " ]"); } tweetAccountManager.unFollower.logEvents.addToLogger -= logEvents_Follower_addToLogger; tweetAccountManager.logEvents.addToLogger -= logEvents_Follower_addToLogger; } catch (Exception ex) { ErrorLogger.AddToErrorLogText(ex.Message); GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> StartUnFollowingMultithreaded() --> " + ex.Message, Globals.Path_UnfollowerErroLog); GlobusFileHelper.AppendStringToTextfileNewLine("Error --> StartUnFollowingMultithreaded() --> " + ex.Message, Globals.Path_TwtErrorLogs); } finally { counter_Account--; if (counter_Account == 0) { if (btnStartFollow.InvokeRequired) { btnStartFollow.Invoke(new MethodInvoker(delegate { AddToLog_follow("[ " + DateTime.Now + " ] => [ PROCESS COMPLETED ]"); AddToLog_follow("---------------------------------------------------------------------------------------------------------------------------"); btnStartFollow.Cursor = Cursors.Default; })); } } } }
public void StartDMMultiThreaded(object parameter) { try { Array paramsArray = new object[1]; paramsArray = (Array)parameter; KeyValuePair<string, TweetAccountManager> item = (KeyValuePair<string, TweetAccountManager>)paramsArray.GetValue(0); TweetAccountManager AccountManager = item.Value; AccountManager.Username = item.Value.Username; AccountManager.Password = item.Value.Password; AccountManager.proxyAddress = item.Value.proxyAddress; AccountManager.proxyPort = item.Value.proxyPort; AccountManager.proxyUsername = item.Value.proxyUsername; AccountManager.proxyPassword = item.Value.proxyPassword; AddToDMLog("Logging In With Email : " + item.Value.Username); if (!AccountManager.IsLoggedIn) { AccountManager.Login(); } if (AccountManager.IsLoggedIn) { AddToDMLog("Logged In With Email :" + AccountManager.Username); TwitterDataScrapper dataScrape = new TwitterDataScrapper(); List<string> DMFollowers = dataScrape.GetFollowers(AccountManager.userID); //List<string> DMFollowings = dataScrape.GetFollowings(AccountManager.userID); //List<string> nonFollowings = DMFollowings.Except(DMFollowers).ToList(); //List<string> FollowingnFollower = DMFollowings.Except(nonFollowings).ToList(); AddToDMLog("Adding User's With Direct Message Option in Email : " + item.Value.Username); DMList.Add(AccountManager.userID, DMFollowers); if (cmbboxUserID.InvokeRequired) { new Thread(() => { cmbboxUserID.Invoke(new MethodInvoker(delegate { cmbboxUserID.Items.Add(AccountManager.userID + ":" + AccountManager.Username); })); } ).Start(); } } else { AddToDMLog("Account : " + AccountManager.Username + " Not Logged In"); } } catch(Exception ex) { Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> StartDMMultiThreaded() --> " + ex.Message, Globals.Path_DMErroLog); Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine("Error --> StartDMMultiThreaded() --> " + ex.Message, Globals.Path_TwtErrorLogs); } }
public void RetweetDataExtractor() { try { if (!string.IsNullOrEmpty(txtRetweetCount.Text) && NumberHelper.ValidateNumber(txtRetweetCount.Text)) { RetweetExtractCount = Convert.ToInt32(txtRetweetCount.Text); TwitterDataScrapper.RetweetExtractcount = RetweetExtractCount; } else { AddToTweetCreatorLogs("Entered Count incorrect.Setting Default Count 10"); } TwitterDataScrapper DataScraper = new TwitterDataScrapper(); foreach (string item in lstUserId_Retweet) { AddToTweetCreatorLogs("Extracting ReTweets For " + item); List<string> TweetData = DataScraper.GetRetweetData_Scrape(item); AddToTweetCreatorLogs(TweetData.Count + " Retweet From User : "******":"); if (arry.Length == 3) { AddToTweetCreatorLogs("---------------------------------------------------------"); AddToTweetCreatorLogs(arry[0] + " : " + arry[1]); AddToTweetCreatorLogs(arry[2]); clsDBQueryManager DataBase = new clsDBQueryManager(); DataBase.InsertDataRetweet(arry[0], arry[1], arry[2]); } else { } } }).Start(); } else { AddToTweetCreatorLogs("Sorry No ReTweets For " + item); } } AddToTweetCreatorLogs("Finished Extracting ReTweets"); AddToTweetCreatorLogs("ReTweets Stored In -" + Globals.Path_RETweetExtractor); if (txtRetweetSingle.InvokeRequired) { txtRetweetSingle.Invoke(new MethodInvoker(delegate { txtRetweetSingle.Text = ""; })); } if (txtRetweetFile.InvokeRequired) { txtRetweetFile.Invoke(new MethodInvoker(delegate { txtRetweetFile.Text = ""; })); } } catch (Exception ex) { Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> RetweetDataExtractor() --> " + ex.Message, Globals.Path_TweetCreatorErroLog); Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine("Error --> RetweetDataExtractor() --> " + ex.Message, Globals.Path_TwtErrorLogs); } }
public List<string> GetFollowingsUsingUserID(string userID) { List<string> list_Followings = new List<string>(); TwitterDataScrapper followingScrapper = new TwitterDataScrapper(); list_Followings = followingScrapper.GetFollowings(userID); return list_Followings; }
public void TweetDataExtract() { try { if (!string.IsNullOrEmpty(txtTweetExtractCount.Text) && NumberHelper.ValidateNumber(txtTweetExtractCount.Text)) { TweetExtractCount = Convert.ToInt32(txtTweetExtractCount.Text); if (TweetExtractCount > 200) { TwitterDataScrapper.TweetExtractCount = 200; AddToTweetCreatorLogs("Extracting Default No Of Tweet : 200"); } else { TwitterDataScrapper.TweetExtractCount = TweetExtractCount; } } else { AddToTweetCreatorLogs("Entered Count incorrect.Setting Default Count 10"); } int counter = 0; TwitterDataScrapper DataScraper = new TwitterDataScrapper(); foreach (string item in lstUserId_Tweet) { AddToTweetCreatorLogs("Extracting Tweets For " + item); List<string> TweetData = DataScraper.GetTweetData_Scrape(item); if (TweetData.Count > 0) { foreach (string newItem in TweetData) { AddToTweetCreatorLogs(newItem); } } else { AddToTweetCreatorLogs("Sorry No Tweets For " + item); } } AddToTweetCreatorLogs("Finished Extracting Tweets"); AddToTweetCreatorLogs("Tweets Stored In -" + Globals.Path_TweetExtractor); if (txtTweetName.InvokeRequired) { txtTweetName.Invoke(new MethodInvoker(delegate { txtTweetName.Text = ""; })); } if (txtExtractorFile.InvokeRequired) { txtExtractorFile.Invoke(new MethodInvoker(delegate { txtExtractorFile.Text = ""; })); } } catch (Exception ex) { Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine(DateTime.Now + " --> Error --> TweetDataExtract() --> " + ex.Message, Globals.Path_TweetCreatorErroLog); Globussoft.GlobusFileHelper.AppendStringToTextfileNewLine("Error --> TweetDataExtract() --> " + ex.Message, Globals.Path_TwtErrorLogs); } }
private void threadStartScrape() { List<string> lst_structTweetFollowersIDs = new List<string>(); List<string> lst_structTweetFollowingsIds = new List<string>(); GlobusHttpHelper globusHttpHelper = new GlobusHttpHelper(); string user_id = string.Empty; foreach (string keyword in lstscrapeUsername) { if (!GlobusRegex.ValidateNumber(keyword))//(!IsItNumber(user_id_toFollow)) { user_id = TwitterDataScrapper.GetUserIDFromUsername(keyword); } else { user_id = keyword; } TwitterDataScrapper dataScrapeer = new TwitterDataScrapper(); if (chkboxScrapeFollowers.Checked) { try { if (!File.Exists(Globals.Path_ScrapedFollowersList)) { GlobusFileHelper.AppendStringToTextfileNewLine("User_ID , FollowersUserID", Globals.Path_ScrapedFollowersList); } lst_structTweetFollowersIDs = dataScrapeer.GetFollowers(user_id); //lst_structTweetFollowingsIds = dataScrapeer.GetFollowings(user_id); AddToScrapeLogs("Added " + lst_structTweetFollowersIDs.Count + " Followers to list"); //AddToScrapeLogs("Added " + lst_structTweetFollowingsIds.Count + " Followings to list"); foreach (string data in lst_structTweetFollowersIDs) { try { Globals.lstScrapedUserIDs.Add(data); GlobusFileHelper.AppendStringToTextfileNewLine(user_id + "," + data, Globals.Path_ScrapedFollowersList); AddToScrapeLogs(data); } 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("Added " + lst_structTweetFollowersIDs.Count + " Followers from User: "******"Data Exported to " + Globals.Path_ScrapedFollowersList); if (Globals.IsDirectedFromFollower) { AddToLog_Follower("Added " + lst_structTweetFollowersIDs.Count + " Followers from User: "******" --> 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("User_ID , FollowingsUserID", Globals.Path_ScrapedFollowingsList); } lst_structTweetFollowingsIds = dataScrapeer.GetFollowings(user_id); AddToScrapeLogs("Added " + lst_structTweetFollowingsIds.Count + " Followings to list"); foreach (string data in lst_structTweetFollowingsIds) { try { Globals.lstScrapedUserIDs.Add(data); GlobusFileHelper.AppendStringToTextfileNewLine(user_id + "," + data, Globals.Path_ScrapedFollowingsList); AddToScrapeLogs(data); } 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); } } AddToScrapeLogs("Added " + lst_structTweetFollowingsIds.Count + " Followings from User: "******"Data Exported to " + Globals.Path_ScrapedFollowingsList); if (Globals.IsDirectedFromFollower) { AddToLog_Follower("Added " + lst_structTweetFollowingsIds.Count + " Followings from User: "******" --> 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(); ////new Thread(() => ////{ //foreach (string data in lst_structTweetFollowersIDs) //{ // try // { // clsDBQueryManager DataBase = new clsDBQueryManager(); // DataBase.InsertOrUpdateScrapeSetting(data, ""); // } // catch (Exception ex) // { // } //} //// } ////).Start(); //AddToScrapeLogs("Added " + lst_structTweetFollowingsIds.Count + " Followings from User: "******"" , ""); } 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); } } } ).Start(); }
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 btnStartReTweeting_Click(object sender, EventArgs e) { if (chkboxReplyPerDay.Checked) { MessageBox.Show("Please Check Retweet Per Day Of No Of Retweet"); return; } if (!string.IsNullOrEmpty(txtTweetKeyword.Text)) { string tweetKeyword = txtTweetKeyword.Text; new Thread(() => { { //Scrap Tweets using Keyword TwitterDataScrapper tweetScrapper = new TwitterDataScrapper(); TweetAccountManager.static_lst_Struct_TweetData = tweetScrapper.GetTweetData(tweetKeyword); StartReTweeting(); } }).Start(); } else { MessageBox.Show("Please enter Tweet Search Keyword"); } }
private void btnStartReplying_Click(object sender, EventArgs e) { if (chkboxRetweetPerDay.Checked) { MessageBox.Show("Please Check Reply Per Day or No Of Reply"); return; } if (listTweetMessages.Count >= 1 && !string.IsNullOrEmpty(txtTweetKeyword.Text)) //if (!string.IsNullOrEmpty(txtTweetKeyword.Text)) { string tweetKeyword = txtTweetKeyword.Text; new Thread(() => { TwitterDataScrapper tweetScrapper = new TwitterDataScrapper(); TweetAccountManager.static_lst_Struct_TweetData = tweetScrapper.GetTweetData(tweetKeyword); StartReplying(); }).Start(); } else { MessageBox.Show ("Please upload Tweet Messages File & put a Tweet Search Keyword"); } }
private void ScrapeKeywordSeacrh() { TwitterDataScrapper TweetData = new TwitterDataScrapper(); TweetData.noOfRecords = 1000; List<TwitterDataScrapper.StructTweetIDs> data = TweetData.GetTweetData(txtScrapeKeyword.Text); AddToScrapeLogs(data.Count + " User ids Scraped "); foreach (TwitterDataScrapper.StructTweetIDs item in data) { Globals.lstScrapedUserIDs.Add(item.ID_Tweet_User); AddToScrapeLogs(item.ID_Tweet_User); } Globals.lstScrapedUserIDs = Globals.lstScrapedUserIDs.Distinct().ToList(); new Thread(() => { foreach (TwitterDataScrapper.StructTweetIDs item in data) { clsDBQueryManager DataBase = new clsDBQueryManager(); DataBase.InsertOrUpdateScrapeSetting(item.ID_Tweet_User, item.username__Tweet_User); } }).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; } }
private void ScrapeMemberSeacrh() { try { lstIsStopScrapMember.Add(Thread.CurrentThread); lstIsStopScrapMember.Distinct(); Thread.CurrentThread.IsBackground = true; } catch { } try { TwitterDataScrapper TweetData = new TwitterDataScrapper(); txtlimitScrapeUsers.Invoke(new MethodInvoker(delegate { if (!string.IsNullOrEmpty(txtlimitScrapeUsers.Text.Trim()) && NumberHelper.ValidateNumber(txtlimitScrapeUsers.Text.Trim())) { noOfRecords = Convert.ToInt32(txtlimitScrapeUsers.Text.Trim()); if (noOfRecords == 0) { AddToLog_ScrapMember("[ " + DateTime.Now + " ] => [ Do not put Zero value ]"); AddToLog_ScrapMember("[ " + DateTime.Now + " ] => [ Default number of records is 50 ]"); noOfRecords = 50; } } else { AddToLog_ScrapMember("[ " + DateTime.Now + " ] => [ please enter value in number of users ]"); return; } })); AddToLog_ScrapMember("[ " + DateTime.Now + " ] => [ Scraping User INfo ]"); if (!chkUserInfo.Checked) { foreach (string item in lstUrl) { if (!item.Contains("https://twitter.com")) { AddToLog_ScrapMember("[ " + DateTime.Now + " ] => [ You have entered invalid URL " + item + "]"); continue; } List <string> lstMember = new List <string>(); string returnStatus = string.Empty; lstMember = GetMembers(item, out returnStatus); AddToLog_ScrapMember("[ " + DateTime.Now + " ] => [ Scraped Member for Url " + item + "]"); } } else { foreach (string item in lstUrl) { Thread scrapinfo = new Thread(scrapUserInfo); scrapinfo.Start(new object[] { item }); Thread.Sleep(200); } } //AddToLog_ScrapMember("[ " + DateTime.Now + " ] => [ process completed ]"); } catch { } }
public void getHashTags() { Globals.HashTags.Clear(); TwitterDataScrapper dataScrape = new TwitterDataScrapper(); string returnStatus = string.Empty; Globals.HashTags = dataScrape.GetHashTags(out returnStatus); AddToScrapeLogs(Globals.HashTags.Count + " Trending Hash Tags"); foreach (string data in Globals.HashTags) { AddToScrapeLogs(data); GlobusFileHelper.AppendStringToTextfileNewLine(data, Globals.Path_HashtagsStore); } AddToScrapeLogs("Hash tag Finished"); }
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"); } }
public List<string> GetFollowingsUsingUserID(string userID) { List<string> list_Followings = new List<string>(); TwitterDataScrapper followingScrapper = new TwitterDataScrapper(); string returnStatus = string.Empty; list_Followings = followingScrapper.GetFollowings(userID, out returnStatus); return list_Followings; }