使用Python和 InstaPy 的 Instagram 机器人
在本文中,我们将使用Python和 InstaPy 设计一个简单有趣的项目“Instagram Bot”。因为初学者想要做一些额外的学习小项目,这样它将有助于构建未来的大项目。现在,是时候学习一些新项目和更好的未来了。
这个Python项目提供了Instagram 机器人的功能,可以在他们的帖子上点赞、评论和关注带有特定主题标签的个人资料。为此,我们必须使用 InstaPy。 确保您还安装了 Firefox 浏览器,因为最新版本的 InstaPy 不再支持 Chrome。为了安装 InstaPy,我们使用下面给出的命令:
pip install instapy==0.6.8
最新版本是0.6.9,但是随时崩溃,尝试使用评论。无需注释脚本即可完美运行。
登录
首先,让我们创建一个Python文件并将以下代码放入其中并用您的用户名和密码替换用户名和密码,运行脚本,这必须让您进入 Instagram。
Python3
from instapy import InstaPy
session = InstaPy(username="your username",password="your password")
session.login()
Python3
session.like_by_tags(["dance", "mercedes"], amount=10, interact=True)
Python3
session.set_dont_like(["naked", "murder", "nsfw"])
Python3
session.set_do_comment(True, percentage=100)
session.set_comments(["Nice", "Amazing", "Super"])
Python3
session.set_do_follow(enabled=True, percentage=100)
Python3
session.set_user_interact(amount=1, randomize=True, percentage=100)
Python3
session.end()
InstaPy会做一些其他的事情,比如检查你的互联网连接和 Instagram 服务器的状态。我们可以直接在浏览器或日志中观察到这一点:
加载可能需要一些时间,如下所示
按标签赞
首先,我们可以使用一些标记为#dance 或 #mercedes 的帖子 like_by_tags():
蟒蛇3
session.like_by_tags(["dance", "mercedes"], amount=10, interact=True)
在这里,我们为该方法提供了一个要喜欢的标签列表以及每个给定标签要喜欢的帖子数量。在这里,我们指示它每个人喜欢十个帖子。 InstaPy 记录它采取的每一个动作。
它提到了它喜欢的帖子及其链接、描述、位置,以及机器人是否评论了帖子或关注了作者。
不喜欢
我们可以用 set_dont_like():防止机器人喜欢不适当的帖子。
蟒蛇3
session.set_dont_like(["naked", "murder", "nsfw"])
在运行代码之前,我们必须更改“site-packages/instapy/xpath_compile.py”中的 xpath_compile.py 文件中的一些代码,因为 Instagram 已经修改了 HTML
消除:
xpath[“like_image”] = {
“like”: “//section/span/button[*[local-name () =’svg’]/@aria-label=’Like’]”,
“unlike”: “//section/span/button[*[local-name () =’svg’]/@aria-label=’Unlike’]”,
}
用。。。来代替:
xpath[“like_image”] = {
“like”: “//section/span/button/div[*[local-name()=’svg’]/@aria-label=’Like’]”,
“unlike”: “//section/span/button/div[*[local-name()=’svg’]/@aria-label=’Unlike’]”,
}
如果我们不替换上面的代码,就会抛出instapy的错误: “无效Like元素!”
设置评论
接下来,您还可以对帖子发表一些评论。首先,使用 set_do_comment() 启用评论。其次,告诉机器人用 set_comments() 留下什么评论。
蟒蛇3
session.set_do_comment(True, percentage=100)
session.set_comments(["Nice", "Amazing", "Super"])
设置关注
接下来,您可以告诉机器人不仅喜欢这些帖子,还可以关注这些帖子的一些作者。你可以用 set_do_follow () 做到这一点。
蟒蛇3
session.set_do_follow(enabled=True, percentage=100)
设置交互
在此之后,您必须使用 set_user_interact() 来反映与用户界面进行一次交互后的实际用户体验。这里的数量是机器人将在单个配置文件中交互的帖子数量。
蟒蛇3
session.set_user_interact(amount=1, randomize=True, percentage=100)
重要提示:您必须在呼叫活动之前设置配置并设置交互,这意味着在上述会话设置之后保持活动,否则机器人只会喜欢帖子,但不会评论或关注。
结尾
既然您已经完成了基本设置,那么结束会话是个好主意 结束()。
蟒蛇3
session.end()