예제 #1
0
        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);
            }
        }
예제 #2
0
        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();
        }
예제 #3
0
        public List<string> GetFollowersUsingUserID(string userID)
        {
            List<string> list_Followers = new List<string>();

            TwitterDataScrapper followerScrapper = new TwitterDataScrapper();

            list_Followers = followerScrapper.GetFollowers(userID);

            return list_Followers;
        }
예제 #4
0
        public List<string> GetFollowersUsingUserID(string userID)
        {
            List<string> list_Followers = new List<string>();

            TwitterDataScrapper followerScrapper = new TwitterDataScrapper();
            string returnStatus = string.Empty;
            list_Followers = followerScrapper.GetFollowers(userID, out returnStatus);

            return list_Followers;
        }