ks刷赞平台全网+最低价啊雷神,快手刷播放全网最低价,刷快手赞网站平台

数据看世界

增加关注者是一项昂贵且艰巨的任务,如果您想获得与您有共同兴趣或与您的帐户定位相匹配的关注者,那就更难了。尽管 Instagram 以多种方式宣传我的照片,但我的关注者从未超过 380 人。我决定在 Instagram 上发布照片并坚持定期更新,但由于关注者数量少,只是给了我更新新闻的动力,所以几个月后我不会放弃。

这个项目的目标是建立更多的受众,作为一个附加组件,它可能会增加我销售照片的网站的流量!

一年前,我最后一次使用 Instagram 时,我使用了一个可以查看谁取消关注你的应用程序。通过它,我发现了一种获得追随者的方法。通过评论、喜欢和关注某些人,然后在几天后取消关注这些人,来重新获得追随者。

这种方法并没有让我感到惊讶,因为我知道 Instagram 上会有一些机器人,但它让我想要拥有自己的 Instagram 机器人。

这就是我建立这个项目的原因,让我们现在开始吧。当我在学习 Selenium 并试图找到一些项目来使用它时,我想出了一个简单的 Python 机器人。Selenium 就像一个可以在 Python 中轻松交互的浏览器。

正是世界所需要的!另一个 Instagram 机器人…

经过一番思考,我设定了增加与该领域相关的粉丝的目标。我希望粉丝们能真正关注我,并看到更多我的作品。在最常用的主题标签中很容易遇到奇怪的内容,因此我计划使用这个机器人帐户来查找特定的主题标签并与那里的照片提要进行交互。这样,我可以非常具体地了解我想要的粉丝类型。例如,我是长时间曝光摄影的忠实粉丝,因此我可以为使用该主题标签发帖的人建立我的粉丝群。非常简单高效!

我的相册包含不同主题或风格的照片涨粉丝网站,从街头摄影到航空摄影再到旅行照片等等。因为里斯本是我的家乡涨粉丝网站,所以我在那里也有很多照片。这些将是我将要使用的主题标签。

然而,这不是一个在 24 小时内获得 1000 名关注者的机器人。(从上一篇文章可以看出,作者打造的机器人号不仅关注粉丝的成长,更关心粉丝的类型和质量。)

那么我们所说的取粉速度是什么样的呢?

我用几个不同的标签运行了这个机器人几次,比如“travelblogger”、“travelgram”、“lisbon”、“dronephotography”。在三天的时间里,我的关注者从 380 人增加到了 800 人。也获得了很多点赞和评论,甚至还有一些有机增长(有人关注我,但我的机器人不关注他)。

需要明确的是,我并没有大量使用这个机器人,因为如果你运行它太快,Instagram 将停止响应。它需要在动作之间有一些间隔的命令,因为通过在短时间内发表大量评论或关注,Instagram 会停止响应。

在此过程中,您需要登录您的帐户,所以我几乎可以肯定,如果速度太快,Instagram 可以知道您正在做一些奇怪的事情。最重要的是,在为十几个主题标签执行此操作之后,在相同的主题标签中找到新用户变得更加困难。您需要几天时间来刷新您的用户群。

但我不想在这个过程中跟随这么多人……

在 Instagram 上获得追随者的最有效方式(除了发布很棒的照片!)是追随人们。这个机器人非常适合我,因为我不在乎我是否通过关注 2000 人获得了 400 个关注者。

该机器人在运行时保留了它所关注的所有用户的列表,所以有一天我可能会对这个列表做点什么。例如,我可以访问每个用户个人资料,评估他们有多少关注者或帖子,并决定是否要继续关注他们。或者我可以在他们的图库中获取第一张图片并检查其日期以查看他们是否是活跃用户。

如果我们从机器人中删除关注操作,我可以向您保证,增长率将受到影响,因为人们不太愿意根据单个喜欢或评论关注您。

这是最后一个字幕!

您将需要 Python(我使用 Python 3.7)、Selenium、浏览器(在我的情况下我将使用 Chrome)和…显然,一个 Instagram 帐户!快速概览在机器人上:

如果你到了这一步,谢谢!你完全值得你的奖励!如果您觉得这对您个人有帮助,请在下面分享您的经验:)

Ins养粉机器人源码第一部分:

import pandas as pd
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from time import sleep, strftime
from random import randint
import pandas as pd
chromedriver_path = 'C:/Users/User/Downloads/chromedriver_win32/chromedriver.exe' # Change this to your own chromedriver path!
webdriver = webdriver.Chrome(executable_path=chromedriver_path)
sleep(2)
webdriver.get('https://www.instagram.com/accounts/login/?source=auth_switcher')
sleep(3)
username = webdriver.find_element_by_name('username')
username.send_keys('your_username')
password = webdriver.find_element_by_name('password')
password.send_keys('your_password')
button_login = webdriver.find_element_by_css_selector('#react-root > section > main > div > article > div > div:nth-child(1) > div > form > div:nth-child(3) > button')
button_login.click()
sleep(3)
notnow = webdriver.find_element_by_css_selector('body > div:nth-child(13) > div > div > div > div.mt3GC > button.aOOlW.HoLwm')
notnow.click() #comment these last 2 lines out, if you don't get a pop up asking about notifications

为了在 Selenium 中使用 chrome,您需要安装 chromedriver。这是一个相当简单的过程,我没有任何问题。只需安装并替换上面的路径。完成后,我们的变量 webdriver 将打开一个 Chrome 选项卡。

在源代码中,您应该将字符串替换为您自己的用户名和相应的密码。您可能已经注意到,Chrome 在运行时会打开一个新标签页。在密码之后,将登录按钮定义为一个对象,在下一行中,实现点击它。

如果你想知道那些奇怪的字符串是什么,不要害怕!这是引导机器人的代码,您可以通过右键单击要映射的元素并选择“检查”来轻松获取此字符串。

进入检查模式后,找到与您要映射的内容相对应的 HTML 代码。右键单击它并将鼠标悬停在“复制”上。您将看到一些有关如何复制它的选项。我在整个代码中混合使用了 XPath 和 CSS 选择器(它在 find_element_ 方法中可见)。我花了一段时间才让所有引用顺利运行。有时 css 或 xpath 方向会失败,但是当我调整间隔时,一切都开始顺利进行。

在这种情况下,我选择了“复制选择器”并将其粘贴到 find_element_method 中。它会为您找到第一个结果。在 find_elements 的情况下,将检索所有元素,您可以指定要获取哪些元素。

一旦迭代循环完成。您可以在 hashtag_list 中添加更多主题标签。如果您是第一次运行它,您没有包含您关注的用户的文件,因此您可以将 prev_user_list 创建为空列表。

一旦运行一次,它将保存一个带有时间戳的 csv 文件和它所遵循的用户。此文件将在第二次运行时充当 prev_user_list。机器人的跟踪很容易理解。

hashtag_list = ['travelblog', 'travelblogger', 'traveler']
# prev_user_list = [] - if it's the first time you run it, use this line and comment the two below
prev_user_list = pd.read_csv('20181203-224633_users_followed_list.csv', delimiter=',').iloc[:,1:2] # useful to build a user log
prev_user_list = list(prev_user_list['0'])
new_followed = []
tag = -1
followed = 0
likes = 0
comments = 0
for hashtag in hashtag_list:
 tag += 1
 webdriver.get('https://www.instagram.com/explore/tags/'+ hashtag_list[tag] + '/')
 sleep(5)
 first_thumbnail = webdriver.find_element_by_xpath('//*[@id="react-root"]/section/main/article/div[1]/div/div/div[1]/div[1]/a/div')
 
 first_thumbnail.click()
 sleep(randint(1,2)) 
 try: 
 for x in range(1,200):
 username = webdriver.find_element_by_xpath('/html/body/div[3]/div/div[2]/div/article/header/div[2]/div[1]/div[1]/h2/a').text
 
 if username not in prev_user_list:
 # If we already follow, do not unfollow
 if webdriver.find_element_by_xpath('/html/body/div[3]/div/div[2]/div/article/header/div[2]/div[1]/div[2]/button').text == 'Follow':
 
 webdriver.find_element_by_xpath('/html/body/div[3]/div/div[2]/div/article/header/div[2]/div[1]/div[2]/button').click()
 
 new_followed.append(username)
 followed += 1
 # Liking the picture
 button_like = webdriver.find_element_by_xpath('/html/body/div[3]/div/div[2]/div/article/div[2]/section[1]/span[1]/button/span')
 
 button_like.click()
 likes += 1
 sleep(randint(18,25))
 # Comments and tracker
 comm_prob = randint(1,10)
 print('{}_{}: {}'.format(hashtag, x,comm_prob))
 if comm_prob > 7:
 comments += 1
 webdriver.find_element_by_xpath('/html/body/div[3]/div/div[2]/div/article/div[2]/section[1]/span[2]/button/span').click()
 comment_box = webdriver.find_element_by_xpath('/html/body/div[3]/div/div[2]/div/article/div[2]/section[3]/div/form/textarea')
 if (comm_prob < 7):
 comment_box.send_keys('Really cool!')
 sleep(1)
 elif (comm_prob > 6) and (comm_prob < 9):
 comment_box.send_keys('Nice work :)')
 sleep(1)
 elif comm_prob == 9:
 comment_box.send_keys('Nice gallery!!')
 sleep(1)
 elif comm_prob == 10:
 comment_box.send_keys('So cool! :)')
 sleep(1)
 # Enter to post comment
 comment_box.send_keys(Keys.ENTER)
 sleep(randint(22,28))
 # Next picture
 webdriver.find_element_by_link_text('Next').click()
 sleep(randint(25,29))
 else:
 webdriver.find_element_by_link_text('Next').click()
 sleep(randint(20,26))
 # some hashtag stops refreshing photos (it may happen sometimes), it continues to the next
 except:
 continue
for n in range(0,len(new_followed)):
 prev_user_list.append(new_followed[n])
 
updated_user_df = pd.DataFrame(prev_user_list)
updated_user_df.to_csv('{}_users_followed_list.csv'.format(strftime("%Y%m%d-%H%M%S")))
print('Liked {} photos.'.format(likes))
print('Commented {} photos.'.format(comments))
print('Followed {} new people.'.format(followed))

代码非常简单。如果您了解 Python 的一些基本概念,您可以快速阅读。

循环中的 print 语句允许我们实时跟踪机器人以查看它进行了多少次迭代。它将显示它所在的主题标签、迭代次数以及为评论操作生成的随机数。我决定不对每一页发表评论,所以我添加了三个不同的评论和一个介于 1 到 10 之间的随机数,这将定义是否有任何评论或三者中的一个。循环结束,我们将 new_followed 用户附加到前一个用户“数据库”并保存带有时间戳的新文件。您还将收到一份小报告。

让这个机器人在服务器上运行会更好,但我还有其他想要探索的项目,而配置服务器不是其中之一!欢迎在下方发表评论,我会尽力回答您的问题。

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论