使用 Python 制作 Twitter 机器人
你用过 Twitter 吗?如果用过,你肯定遇到过一些能点赞、转发、关注甚至回复你推文的机器人。但你有没有想过它们是怎么做的?其实很简单,就像往瓶子里灌水一样简单。哈哈!这真的不是什么高深的科学。那就让我们开始动手做一个机器人吧。
在 Python 中,Twitter 机器人只有几行代码,不到 30 行。
制作机器人的先决条件
- tweepy module in Python.
- A twitter account, which you want to make a bot.
- Twitter developer account.
申请 Twitter 开发者账户
申请Twitter开发者账号的步骤如下:
- 前往此链接。访问上述链接后,您将进入此类网站。
确保你已经登录到你想要创建机器人的 Twitter 账户。
这里,我使用我的新账户BashWoman来创建一个机器人,它会点赞并转发 #python3 这个标签。
- 点击申请,之后会出现这样的界面。
选择,申请一个开发者账户。
- 在此之后,您将获得许多选项,为什么您要申请开发者帐户,这里我们正在制作一个机器人,所以我将选择制作一个机器人。
- 现在,在下一页,您需要填写一些详细信息。请填写。
- Twitter 会询问您一些关于如何使用此帐户和 Twitter 数据的问题。我们只是让这个机器人点赞和转发帖子,所以请只选择点赞和转发。
和
否则,请选择“否”,以保持简单。
请输入您要使用此机器人执行的所有详细信息。
- 填写完所有信息后,您将看到一个协议页面。只需接受所有条款和条件即可。然后点击“提交申请”。
- 您将收到一封确认邮件。确认后,将打开一个新窗口,如下所示。
单击获取密钥。
- 完成此操作后,我们需要获取此开发者帐户的密钥。请将它们保存在某个地方,您很快就会需要它们。
让我们编写代码并理解它
你看,Python 代码不超过 30 行。让我们来理解每一行。
import tweepy
import time
要与 Twitter API 通信,我们需要一些模块,这里我们使用tweepy。您可以轻松安装它。
pip install tweepy
安装模块后,编写更多代码。
# Authenticate to Twitter
CONSUMER_KEY = '<your-consumer-or-API-key-goes-here>'
CONSUMER_SECRET = '<your-consumer-or-API-secret-goes-here>'
ACCESS_KEY = '<your-access-key-goes-here>'
ACESS_SECRET = '<your-access-secret-goes-here>'
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_KEY, ACESS_SECRET)
这用于验证您的 Twitter 帐户。请记住,这些密钥属于您的帐户,请勿将其分享给任何人,否则他们可能会访问您的数据。因此,我创建了一些变量来存储密钥。
这些密钥可以在您之前保存的开发者帐户中找到。
创建auth变量来验证帐户,Twitter 使用 OAuth 来执行此操作。
之后,我们将设置令牌。
# Create API object
api = tweepy.API(auth, wait_on_rate_limit=True, wait_on_rate_limit_notify=True)
此类为 Twitter 提供的 API 提供了一个包装器。如果您遇到问题,可以随时参考tweepy 文档。
user = api.me()
search = '#python3'
numTweet = 500
for tweet in tweepy.Cursor(api.search, search).items(numTweet):
try:
print('Tweet Liked')
tweet.favorite()
print("Retweet done")
tweet.retweet()
time.sleep(10)
except tweepy.TweepError as e:
print(e.reason)
except StopIteration:
break
最后,我们将告诉程序在推文中查找关键字#python3以及每天处理的推文数量。如果你想点赞,可以使用tweepy.favorite();如果你想转发,可以使用tweepy.retweet()。
我之所以使用 sleep 函数,是因为 Twitter 有一些规则,你必须遵守,否则你的账户将被限制。点赞推文的数量是有限制的。如果程序出现错误,我们可以使用tweepy.TweepError 函数来判断哪里出了问题。
现在,是时候部署了。你可以使用任何平台,我使用了Render。
在这个平台上创建帐户后,创建一个 cron 作业,你可以安排时间,我建议大约 10 到 15 分钟。这意味着你的机器人每 10 到 15 分钟运行一次,这样就不会违反 Twitter 的准则,你的帐户也会很安全,不会受到限制。
这是我的机器人。
是时候构建你自己的机器人了。
祝一切顺利。