首页 > 编程语言 >如何在 Python 中逐步构建 Twitter Bot?

如何在 Python 中逐步构建 Twitter Bot?

时间:2022-09-01 09:35:00浏览次数:90  
标签:py Python Twitter 机器人 Bot access 推文 tweepy

如何在 Python 中逐步构建 Twitter Bot?

Twitter 允许公司以客户喜爱的简洁、即时的方式与客户进行交流。出于这个原因,许多人依赖 Twitter 获取新闻、更新以及解决问题的方法。

Twitter 上的企业聊天机器人为客户提供了更广泛的好处。聊天机器人不仅可以立即为客户提供帮助,而且可以保证在一天中的任何时间都可以获得帮助。

Twitter 是美国的微博和社交网络服务,用户在该服务上发布消息并与被称为“推文”的消息互动。在本文中,我们将使用 Python 制作一个 Twitter Bot。

Python 和 Java 脚本可用于开发自动 Twitter 机器人,它可以自行完成许多任务,例如:

转推带有特定#hastags 的推文。
关注使用特定#hashtags 发推文的用户。
如果获得许可,也可以 DM 用户。

要求
安装 Tweepy

为此,我们需要一个名为 Tweepy 的 Python 库来访问 Twitter API。我们可以通过三种方式安装 tweepy:

1. 使用 pip 命令

 $ pip 安装 tweepy

2.克隆tweepy的GitHub仓库

 $ 混帐克隆[ https://github.com/tweepy/tweepy.git](https://github.com/tweepy/tweepy.git)  
 $ cd tweepy  
 $点安装

3.直接克隆仓库

 $ 点安装 git+[ https://github.com/tweepy/tweepy.git](https://github.com/tweepy/tweepy.git)

注册 Twitter 开发者帐户

为您的 Twitter Bot 注册一个单独的帐户,然后通过此链接申请 Twitter 开发者帐户 https://developer.twitter.com/en/apply-for-access
输入必要的详细信息并等待您的邮件确认。确认后,单击创建应用程序选项。
输入必要的详细信息以生成密钥和访问令牌。
复制密钥并妥善保管。

开发 Twitter 机器人

创建一个文件 twitter_bot_retweet.py 并粘贴以下代码。

 导入 tweepy  
 从时间导入睡眠  
 从凭证导入 *  
 从配置导入 QUERY、FOLLOW、LIKE、SLEEP_TIME  
   
 auth = tweepy.OAuthHandler(consumer_key, consumer_secret)  
 auth.set_access_token(access_token, access_token_secret)  
 api = tweepy.API(auth)  
   
 print(“转发推文、喜欢推文和关注用户的推特机器人”)  
 打印(“机器人设置”)  
 打印(“喜欢推文:”,喜欢)  
 打印(“关注用户:”,关注)  
   
 对于 tweepy.Cursor(api.search, q = QUERY).items() 中的推文:  
 尝试:  
 print('\nTweet by: @' + tweet.user.screen_name)  
   
 推文.转推()  
 print('转发了这条推文')  
   
 # 收藏推文  
 如果喜欢:  
 tweet.favorite()  
 print('收藏的推文')  
   
 # 关注发推文的用户  
 # 检查机器人是否还没有关注用户  
 如果关注:  
 如果不是 tweet.user.following:  
 推文.user.follow()  
 print('关注用户')  
   
 睡眠(SLEEP_TIME)  
   
 除了 tweepy.TweepError 作为 e:  
 打印(例如原因)  
   
 除了停止迭代:  
 休息

现在制作另一个文件来指定你的机器人应该做什么。将其命名为 config.py

根据您的选择等编辑#hashtag,或将选项设置为 True 或 False。

 # 根据需要编辑这个 config.py 文件  
   
 # 这是 Twitter 机器人将使用的标签  
 # search and retweet 你可以编辑这个  
 # 任何标签。例如:'# javascript'  
   
 QUERY = '# 任何东西'  
   
 # 推文点赞的 Twitter 机器人设置  
 喜欢 = 真  
   
 # Twitter 机器人设置,用于关注发推文的用户  
 跟随 = 真  
   
 # Twitter bot 睡眠时间设置(以秒为单位)。  
 # 例如 SLEEP_TIME = 300 表示 5 分钟。  
 # 如果你正在运行机器人,请使用大延迟  
 # 一直如此,这样您的帐户就不会  
 # 被禁止。  
   
 睡眠时间 = 300

接下来创建一个文件 credentials.py 并将您的访问令牌小心地粘贴在单引号 ' ' 之间。

 # 这只是一个示例文件。你需要  
 # 编辑这个文件。你需要得到这些  
 # 来自您的 Twitter 应用设置的详细信息。  
   
 消费者密钥 = ''  
 消费者秘密 = ''  
 access_token = ''  
 access_token_secret = ''  
 部署

使用此命令从命令提示符/终端运行 twitter_bot_retweet.py 文件。

 $ python twitter_bot_retweet.py

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/7700/22450109

标签:py,Python,Twitter,机器人,Bot,access,推文,tweepy
From: https://www.cnblogs.com/amboke/p/16645357.html

相关文章

  • 设计模式之单例模式(Python实现)
    先认识下什么是单例模式,可以参考前人的优秀分析https://blog.csdn.net/lovelion/article/details/9319181总结起来说,当我们在代码中频繁的创建和删除对象时会消耗大量资源......
  • 在 Python 中将具有不同标题的多个 CSV 文件合并到一个文件中
    在Python中将具有不同标题的多个CSV文件合并到一个文件中在使用CSV文件进行数据分析时,我们可能需要处理大型数据集。在这些情况下,我们必须将所有数据合并到一个CS......
  • 用 Python 编写傅立叶级数机器人(第 2 部分——为什么选择 Python?)
    用Python编写傅立叶级数机器人(第2部分——为什么选择Python?)自然,在编写傅立叶级数机器人时可能会问一个问题,“我应该使用哪种编码语言?”,在我看来,唯一的答案是Python......
  • 2022 年要知道的 10 大秘密 Python 编码技巧
    2022年要知道的10大秘密Python编码技巧编码最新消息Python顶级列表TOP10SECRETPYTHONCODINGTIPSTOKNOWIN2022有经验的程序员也发现在发现新技巧方面还......
  • python学习Day57
    Day57今日内容概要静态文件及相关配置请求方法request对象方法pycharm连接MySQLdjango连接MySQLdjangoorm简介orm基本操作语法数据库迁移字段增删改查记录......
  • 2022 年学习 Python 的 5 个理由
    2022年学习Python的5个理由Python在2022年非常流行,原因有几个什么是Python,我为什么要关心?Python可用于几乎任何软件开发领域,包括Web开发、数据科学、数据......
  • python + VS code + Docker
    目录1.安装docker2.构建映像3.启动docker4.安装VisualStudioCode并配置5.参考在python项目开发中,经常需要安装依赖包,还要考虑版本兼容问题。尤其是,升级一个python版本,......
  • python numpy.stack()
    numpy.stack()这个函数的功能就是堆叠array,就是对矩阵升维。但是比较头疼的就是stack()中的axis的理解。我找到了一篇比较好的博客,直接转载到这里了numpy.stack最通俗......
  • python相关知识点
    1.enumerate用于将可迭代对象拆包成元组比如list、dic、rangelist=[0,1,2,3]dic={'a':1,'b':2,'c':3}forainenumerate(list):print(a)#输出为(0,0)......
  • python 大数据 选题推荐
    ##一、python毕设选题推荐以下为学长手动整理python毕业设计项目,完全可以作为当前较新的毕业设计题目选择方向,给各位同学参考项目分享,毕设指导:[https://gitee.com/y......