使用 Python 制作 Twitter 机器人

2025-06-07

使用 Python 制作 Twitter 机器人

你用过 Twitter 吗?如果用过,你肯定遇到过一些能点赞、转发、关注甚至回复你推文的机器人。但你有没有想过它们是怎么做的?其实很简单,就像往瓶子里灌水一样简单。哈哈!这真的不是什么高深的科学。那就让我们开始动手做一个机器人吧。

图像

在 Python 中,Twitter 机器人只有几行代码,不到 30 行。

制作机器人的先决条件

- tweepy module in Python.
- A twitter account, which you want to make a bot.
- Twitter developer account.
Enter fullscreen mode Exit fullscreen mode

申请 Twitter 开发者账户

申请Twitter开发者账号的步骤如下:

  • 前往此链接。访问上述链接后,您将进入此类网站。替代文本

确保你已经登录到你想要创建机器人的 Twitter 账户。

这里,我使用我的新账户BashWoman来创建一个机器人,它会点赞并转发 #python3 这个标签。

  • 点击申请,之后会出现这样的界面。替代文本选择,申请一个开发者账户。
    • 在此之后,您将获得许多选项,为什么您要申请开发者帐户,这里我们正在制作一个机器人,所以我将选择制作一个机器人

替代文本

  • 现在,在下一页,您需要填写一些详细信息。请填写。

替代文本

  • Twitter 会询问您一些关于如何使用此帐户和 Twitter 数据的问题。我们只是让这个机器人点赞和转发帖子,所以请只选择点赞和转发。

替代文本

替代文本

否则,请选择“否”,以保持简单。
请输入您要使用此机器人执行的所有详细信息。

  • 填写完所有信息后,您将看到一个协议页面。只需接受所有条款和条件即可。然后点击“提交申请”

替代文本

  • 您将收到一封确认邮件。确认后,将打开一个新窗口,如下所示。

替代文本

单击获取密钥

  • 完成此操作后,我们需要获取此开发者帐户的密钥。请将它们保存在某个地方,您很快就会需要它们。

替代文本

让我们编写代码并理解它

替代文本

你看,Python 代码不超过 30 行。让我们来理解每一行。

import tweepy
import time
Enter fullscreen mode Exit fullscreen mode

要与 Twitter API 通信,我们需要一些模块,这里我们使用tweepy。您可以轻松安装它。

pip install tweepy
Enter fullscreen mode Exit fullscreen mode

安装模块后,编写更多代码。

# 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)
Enter fullscreen mode Exit fullscreen mode

这用于验证您的 Twitter 帐户。请记住,这些密钥属于您的帐户,请勿将其分享给任何人,否则他们可能会访问您的数据。因此,我创建了一些变量来存储密钥。

这些密钥可以在您之前保存的开发者帐户中找到。

创建auth变量来验证帐户,Twitter 使用 OAuth 来执行此操作。

之后,我们将设置令牌。

# Create API object
api = tweepy.API(auth, wait_on_rate_limit=True, wait_on_rate_limit_notify=True)
Enter fullscreen mode Exit fullscreen mode

此类为 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
Enter fullscreen mode Exit fullscreen mode

最后,我们将告诉程序在推文中查找关键字#python3以及每天处理的推文数量。如果你想点赞,可以使用tweepy.favorite();如果你想转发,可以使用tweepy.retweet()
我之所以使用 sleep 函数,是因为 Twitter 有一些规则,你必须遵守,否则你的账户将被限制。点赞推文的数量是有限制的。如果程序出现错误,我们可以使用tweepy.TweepError 函数来判断哪里出了问题。

现在,是时候部署了。你可以使用任何平台,我使用了Render

在这个平台上创建帐户后,创建一个 cron 作业,你可以安排时间,我建议大约 10 到 15 分钟。这意味着你的机器人每 10 到 15 分钟运行一次,这样就不会违反 Twitter 的准则,你的帐户也会很安全,不会受到限制。

这是我的机器人。

替代文本

是时候构建你自己的机器人了。
祝一切顺利。

文章来源:https://dev.to/seemasaharan/making-a-twitter-bot-with-python-3ld7
PREV
我如何构建我的 SCSS 项目以防止自己陷入疯狂
NEXT
Laravel 表单请求技巧与窍门。1. 如何处理自定义消息 2. 动态处理授权。3. 处理验证失败以及在处理 API 时控制重定向。4. 处理授权失败。5. 如何注入必须验证但不希望用户提交的数据。6. 如何在验证后自定义传递的请求值。