示例#1
0
        private void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
        {
            _logger.Log(LogLevel.Info, "Timer elapsed");


            try
            {
                var profiles = InstagramLogins.GetProfiles();

                foreach (var prof in profiles)
                {
                    if (AllowedProfiles.Any(item => item == prof.Id))
                    {
                        InitBrowser();


                        _logger.Log(LogLevel.Info, string.Format("Save followers profile : {0}", prof.Login));
                        Instagram.Open(prof.ProfileList.ElementAt(probability.Next(0, prof.ProfileList.Count)));
                        Instagram.SaveFollowers_PageDown(Number, 1000, prof.Id);


                        Instagram.CloseDriver();
                    }
                }
            }
            catch (Exception ex)
            {
                _logger.Log(LogLevel.Error, string.Format("Timer elapsed error: {0}", ex));
            }


            this.timer.Interval = 5 * 60 * 1000;
            this.timer.Start();
        }
示例#2
0
        private void button8_Click(object sender, EventArgs e)
        {
            Instagram.InitChromeDriver();

            var profiles = InstagramLogins.GetProfiles();

            foreach (var prof in profiles)
            {
                Instagram.Metrica(prof.Login, prof.Id);
            }
        }
示例#3
0
        private void button3_Click(object sender, EventArgs e)
        {
            var profile = InstagramLogins.GetProfile(3);

            if (profile == null)
            {
                return;
            }

            Instagram.ProfileId = profile.Id;
            //Instagram.InitPhantomDriver();
            //Instagram.InitFirefoxDriver();
            Instagram.InitChromeDriver();
            Instagram.Open("https://www.instagram.com/");
            Instagram.InitCookiesAndRefreshPage(profile.ProfileName);
            Instagram.Login(profile.Login, profile.Password, profile.ProfileName);
        }
示例#4
0
        private void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
        {
            InitBrowser();

            try
            {
                var profiles = InstagramLogins.GetProfiles();

                foreach (var prof in profiles)
                {
                    Instagram.Metrica(prof.Login, prof.Id);
                }
            }
            catch (Exception ex)
            {
            }

            Instagram.CloseDriver();

            this.timer.Interval = Interval * 60 * 1000;
            this.timer.Start();
        }
示例#5
0
        private void button1_Click(object sender, EventArgs e)
        {
            var data = InstagramLogins.GetMetrics(1);

            richTextBox1.AppendText(data.Count().ToString());
        }
示例#6
0
        private void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
        {
            try
            {
                InitBrowser();

                /*
                 * var prob = probability.Next(0, RandomFollow
                 + RandomUnfollow
                 + RandomLike
                 + RandomSave
                 + RandomSearchByHashTag
                 + RandomSearchByLocation);
                 +
                 #region Follow users
                 + if (prob < RandomFollow)
                 + {
                 +  var nfromdb = InstagramLogins.GetNumberPossibleRequests(ProfileId);
                 +  var rndm = probability.Next(MinFollows, MaxFollows);
                 +
                 +  Instagram.Follow_FromDB(MaxFollows > nfromdb ? nfromdb : rndm);
                 + }
                 #endregion
                 #region Unfollow users
                 + else if (prob < RandomFollow + RandomUnfollow)
                 + {
                 +  var nfromdb = InstagramLogins.GetNumberPossibleUnfollows(ProfileId);
                 +  var rndm = probability.Next(UnfollowUsersMin, UnfollowUsersMax);
                 +
                 +  Instagram.Unfollow_FromDB(probability.Next(UnfollowUsersMin, UnfollowUsersMax));
                 +
                 +
                 +  //Instagram.Unfollow_ScrollDown(UnfollowUsersMax > nfromdb ? nfromdb : rndm);
                 +  //Instagram.Unfollow_PageDown(probability.Next(UnfollowUsersMin, UnfollowUsersMax));
                 + }
                 #endregion
                 #region Save users
                 + else if (prob < RandomFollow + RandomUnfollow + RandomSave)
                 + {
                 +  //Сохранить подписчиков
                 +  if (profile.ProfileList != null && profile.ProfileList.Any())
                 +  {
                 +      Instagram.Open(profile.ProfileList.ElementAt(probability.Next(0, profile.ProfileList.Count)));
                 +      Instagram.SaveFollowers_PageDown(PageDownCount, 1000, profile.Id);
                 +  }
                 + }
                 #endregion
                 #region Find users by hash tag and save to database
                 + else if (prob < RandomFollow + RandomUnfollow + RandomSave + RandomSearchByHashTag)
                 + {
                 +  var nfromdb = InstagramLogins.GetNumberPossibleRequests(ProfileId);
                 +  var rndm = probability.Next(MinFollows, MaxFollows);
                 +
                 +  Instagram.FindPostsByHashTag(profile.SearchWords.ElementAt(probability.Next(0, profile.SearchWords.Count)),
                 +      MaxFollows > nfromdb ? nfromdb : rndm);
                 + }
                 #endregion
                 #region Find users by location and save to database
                 + else if (prob < RandomFollow + RandomUnfollow + RandomSave + RandomSearchByHashTag + RandomSearchByLocation)
                 + {
                 +  var nfromdb = InstagramLogins.GetNumberPossibleRequests(ProfileId);
                 +  var rndm = probability.Next(MinFollows, MaxFollows);
                 +
                 +  Instagram.FindPostsByLocation(profile.Locations.ElementAt(probability.Next(0, profile.Locations.Count)),
                 +      MaxFollows > nfromdb ? nfromdb : rndm);
                 + }
                 #endregion
                 #region Like posts
                 + else
                 + {
                 +  Instagram.Like_ScrollDown(probability.Next(MinPostLikes, MaxPostLikes));
                 + }
                 #endregion
                 */

                if (!FLAG)
                {
                    #region Follow users

                    var nfromdb = InstagramLogins.GetNumberPossibleRequests(ProfileId);
                    var rndm    = probability.Next(MinFollows, MaxFollows);
                    var count   = MaxFollows > nfromdb ? nfromdb : rndm;
                    _logger.Log(LogLevel.Info, string.Format("Follow users MaxFollows: {0}, NumberOfFollowLogins: {1}, Random(min:{2}-max:{3}): {4}",
                                                             MaxFollows, nfromdb, MinFollows, MaxFollows, rndm));

                    Instagram.Follow_FromDB(count);
                    FLAG = true;
                    #endregion
                }
                else if (FLAG)
                {
                    #region Unfollow users

                    var nfromdb = InstagramLogins.GetNumberPossibleUnfollows(ProfileId);
                    var rndm    = probability.Next(UnfollowUsersMin, UnfollowUsersMax);
                    var count   = UnfollowUsersMax > nfromdb ? nfromdb : rndm;
                    _logger.Log(LogLevel.Info, string.Format("Unfollow users MaxUnfollows: {0}, NumberOfUnfollowLogins: {1}, Random(min:{2}-max:{3}): {4}",
                                                             UnfollowUsersMax, nfromdb, UnfollowUsersMin, UnfollowUsersMax, rndm));

                    Instagram.Unfollow_FromDB(count);
                    FLAG = false;
                    #endregion
                }

                this.timer.Interval = probability.Next(IntervalMIN * 60 * 1000, IntervalMAX * 60 * 1000);
                this.timer.Start();
                _logger.Log(LogLevel.Info, string.Format("Starting new timer with interval {0:##.000} minutes", (this.timer.Interval / (1000 * 60))));

                Instagram.CloseDriver();
            }
            catch (Exception ex)
            {
                _logger.Log(LogLevel.Error, string.Format("Service timer_Elapsed error : {0}", ex));

                this.timer.Interval = 60 * 1000; //Запустить через минуту
                this.timer.Start();

                _logger.Log(LogLevel.Info, string.Format("Starting new timer with interval {0:##.000} minutes", (this.timer.Interval / (1000 * 60))));

                Instagram.CloseDriver();
            }
        }