Twitter允许用户向全世界分享博客文章和文章。使用Python和Tweepy库可以非常轻松地创建一个Twitter机器人来接管你所有的推文。本文将告诉您如何构建这样的机器人。我希望您也可以将这些概念应用到其他在线服务项目中。开始使用tweepy库可以使创建Twitter机器人的过程变得更加容易。它包含TwitterAPI调用和一个非常简单的界面。以下命令使用pipenv在虚拟环境中安装tweepy。如果您没有安装pipenv,请查看我们之前关于如何在Fedora上安装pipenv的文章。$mkdirtwitterbot$cdtwitterbot$pipenv--three$pipenvinstalltweepy$pipenvshellTweepy——要开始使用TwitterAPI,bot需要得到Twitter的授权。为了解决这个问题,tweepy使用了OAuth授权标准。您可以通过在https://apps.twitter.com/创建一个新应用程序来获取凭据。创建新的Twitter应用程序填写完表格并单击“创建您的Twitter应用程序”按钮后,您可以获得该应用程序的凭据。Tweepy需要用户密钥APIKey和用户密码APISecret,可以在“KeysandAccessTokens”中找到。向下滚动页面并使用“创建我的访问令牌”按钮生成“访问令牌”和“访问令牌秘密”。使用Tweppy-导出您的时间轴现在您已拥有所需的凭据,请打开一个文件并编写以下Python代码。importtweepyauth=tweepy.OAuthHandler("your_consumer_key","your_consumer_key_secret")auth.set_access_token("your_access_token","your_access_token_secret")print=tweepy.API(auth)public_tweets=api.home_timeline()fortweetintweet(.text)确保您使用的是Pipenv虚拟环境后,执行您的程序。$pythontweet.py上面的程序调用home_timeline方法来获取时间轴中的20条最新推文。现在机器人可以使用tweepy获取Twitter数据,让我们尝试修改代码以发送推文。使用Tweepy-发送推文要发送推文,有一个易于使用的API方法update_status。它的用法很简单:api.update_status("Theawesometextyouwouldliketotweet")Tweepy扩展提供了许多不同的有用方法来制作Twitter机器人。有关API的详细信息,请查看文档。杂志机器人接下来让我们创建一个机器人来搜索Fedora杂志的推文并转发它们。为了避免多次转发相同的内容,机器人会存储最近转发的推文的ID。两个辅助函数store_last_id和get_last_id将帮助存储和保存此ID。然后,机器人使用tweepy搜索API查找FedoraMagazine的最新推文并存储ID。importtweepydefstore_last_id(tweet_id):"""在文本文件"""中存储推文IDwithopen('lastid','w')asfp:fp.write(str(tweet_id))defget_last_id():"""检索已经转发的推文列表"""withopen('lastid')asfp:returnfp.read()if__name__=='__main__':auth=tweepy.OAuthHandler("your_consumer_key","your_consumer_key_secret")auth.set_access_token("your_access_token","your_access_token_secret")api=tweepy.API(auth)try:last_id=get_last_id()除了FileNotFoundError:print("Noretweetyet")last_id=Nonefortweepy.Cursor(api.search,q="fedoramagazine.org",since_id=last_id).items():如果tweet.user.name=='FedoraProject':store_last_id(tweet.id)#tweet.retweet()print(f'“{tweet.text}”被转发')为了只转发Fedora杂志的推文,该机器人搜索了fedoramazine.org以及您在这篇文章中看到的“Fedora项目”推特帐户发布的推文的结论如何使用tweepy用于创建自动读取、发送和搜索推文的Twitter应用程序的Python库。现在,您可以发挥自己的创造力来创建自己的Twitter机器人。本文的demo源码可以在Github上找到。
