Tweepy API把 Python 接进 Twitter 的读写与实时流【免费下载链接】tweepyTwitter for Python!项目地址: https://gitcode.com/gh_mirrors/tw/tweepy当你的 Python 应用需要拉取推文、查询用户资料、发布内容或者监听实时关键词时直接用 Tweepy API 去对接 Twitter API v2 端点是最省事的路线。Tweepy 是 Python 生态里使用最广的 Twitter 第三方封装同步 Client、异步 AsyncClient、StreamingClient 与分页 Paginator 都是内置件签名、响应解析这类脏活不必自己写。项目定位Tweepy API 为什么值得选Tweepy 在这个领域几乎没有直接竞品它的差异化不在性能而在覆盖面与 API 设计一套库同时维护 v1.1 与 v2 两套端点Client的方法名基本与 Twitter 官方文档一一对应降低查文档成本返回的不是裸 JSON而是解析好的模型对象tweet.text、user.name这类属性访问比手动取字典舒服得多。同步与异步客户端方法名保持一致迁移成本低。阅读源码建议从 tweepy/client.py 入手它是 v2 同步客户端的完整实现[tweepy/__init__.py](https://link.gitcode.com/i/2a4baacf83c32516db2580012ff37da1)则汇总了Client、Paginator、StreamingClient等全部对外导出扫一眼即可建立全局印象。环境搭建与首次运行前置条件不多Python 3.6 及以上版本Twitter 开发者账号并在开发者门户创建应用只读场景准备 bearer token 即可涉及发布等写操作则需要 OAuth 1.0a 的 consumer key/secret 与 access token/secret 四件套安装与获取源码各一条命令pip install tweepygit clone https://gitcode.com/gh_mirrors/tw/tweepy仓库顶层结构很清晰核心封装在 tweepy/客户端、流、分页各自拆成独立模块examples/ 按 API 版本分API_v1与API_v2两档docs/ 是 Sphinx 文档源tests/ 是测试用例配合cassettes/里录制的请求/响应数据离线也能跑集成测试。认证在构建客户端时完成两种方式按场景二选一import tweepy # 只读场景bearer token 即可 client tweepy.Client(bearer_tokenYOUR_BEARER_TOKEN) # 写操作OAuth 1.0a 四件套 client tweepy.Client(consumer_key..., consumer_secret..., access_token..., access_token_secret...)最小验证用 bearer token 调一次get_me能打印出账号名即环境就绪import tweepy client tweepy.Client(bearer_tokenYOUR_BEARER_TOKEN) print(tweepy.__version__) print(client.get_me().data.username)核心能力实战Tweepy API 的读、写、流发布推文从构造客户端到拿到新 ID典型诉求是内容自动发布或机器人回帖对应create_tweet方法client tweepy.Client( consumer_key..., consumer_secret..., access_token..., access_token_secret... ) response client.create_tweet( textThis Tweet was Tweeted using Tweepy and Twitter API v2! ) print(fhttps://twitter.com/user/status/{response.data[id]})create_tweet返回Response对象response.data[id]即新推文 ID出错时它不返回错误码而是抛异常401/403/429 等各有对应类型异常体系定义在 tweepy/errors.py。完整可运行版本参考 examples/API_v2/create_tweet.py其中还演示了发布到 Community 的写法。拉取推文与用户档案用 fields 控制返回典型诉求是采集推文文本或用户粉丝数对应get_tweet/get_tweets/get_user这一族读方法client tweepy.Client(bearer_tokenYOUR_BEARER_TOKEN) user client.get_user(usernameTwitter, user_fields[public_metrics]).data print(user.name, user.public_metrics[followers_count]) tweets client.get_tweets(ids[1234567890], tweet_fields[created_at]).data print(tweets[0].text)user_fields/tweet_fields参数决定服务端返回哪些字段不传时默认只有 id、name 等基础项基础字段可以属性访问额外字段以字典形式挂在对象上。示例见 examples/API_v2/get_users.py。监听关键词搭一条 Twitter 数据流典型诉求是实时捕获含特定关键词的推文对应StreamingClientclass KeywordStream(tweepy.StreamingClient): def on_tweet(self, tweet): print(tweet.text) def on_exception(self, e): print(stream error:, e) stream KeywordStream(bearer_tokenYOUR_BEARER_TOKEN) stream.add_rules(tweepy.StreamRule(python)) stream.filter()StreamRule定义匹配规则filter()阻塞运行命中后回调on_tweeton_exception负责断线告警。实现细节在 tweepy/streaming.py文档的 docs/streaming.rst 覆盖了更多回调钩子。进阶扩展分页、异步与模型映射批量采集时手写游标很易错Paginator把这件事收敛成一个 for 循环它会自动从响应 meta 里读next_token并在下一轮请求中带上for response in tweepy.Paginator(client.get_users_tweets, iduser_id, max_results100): for tweet in response.data: print(tweet.id, tweet.text)源码见 tweepy/pagination.py。并发量上来后可以把同样的代码平移到 tweepy/asynchronous/client.py 中的AsyncClient方法名与同步版一致加个await即可流式也有对应的异步版本。至于tweet、user这些返回对象背后的Tweet/User/Space类定义在tweepy/models.py里逐一对照即可。常见问题与调优发布时抛 401/403现象是create_tweet报Unauthorized或Forbidden原因是应用缺少 Write 权限或改过权限后未重新签发令牌。解法是在开发者门户调整权限重新生成 access token 并再次授权。批量请求撞上 429现象是TooManyRequests异常原因是超过了单端点配额。建议重试前先确认剩余配额、退避等待并降低频率处理模式可参考 examples/API_v1/rate_limit_handling.py。分页只拿到前 100 条现象是循环第一轮后就没有数据原因是没有回传next_token。用Paginator自动处理或手动把meta[next_token]传给下一轮请求。延伸学习地图 docs/Sphinx 文档源client、streaming、pagination 各有独立章节docs/changelog.md版本变更升级前建议过一遍cassettes/录制的请求/响应数据调试时可直接对照tweepy/asynchronous/异步客户端、分页与流的完整实现熟悉以上路径后一个合理的下一步是先用Paginator把某位用户的近期推文落成一份采集脚本再叠加StreamingClient做实时监听等并发成为瓶颈时再整体切换到AsyncClient。【免费下载链接】tweepyTwitter for Python!项目地址: https://gitcode.com/gh_mirrors/tw/tweepy创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
企业数字化 ERP 产品动态
相关推荐
降AI率教程:法学硕士论文AIGC超标4.8元知网维普达标完整操作指南2026 降AI率教程:法学硕士论文AIGC超标4.8元知网维普达标完整操作指南2026
关于法学硕士论文降AI率降AI率,有几个细节提前知道能少走很多弯路。
核心用嘎嘎降AI(www.aigcleaner.com),降AI率达标率99.26%,4.8元… · 2026/11/5 1:43:38
推荐系统接生成式AI半年后算账:省下的钱还不够付API账单 推荐系统接生成式AI半年后算账:省下的钱还不够付API账单
推荐系统团队这次是真的想把生成式AI用起来。去年底一个季度一次的规划会上,老板丢下一句“用大模型把推荐文案生成做起来,人力成本能砍一半”,我当时也在心里飞快算了一笔账:我们三个后端加两个算法,每个月写推荐理由、… · 2026/11/5 1:43:38
基于 frp 搭建内网穿透 本文的目标是将服务器上的流量转发到客户端机器,如果服务器拥有公网ip,则可通过该方式实现内网穿透——访问服务器某个端口/域名 等同于 访问局域网内的客户端的某个端口。
我的博客网站就是通过 frp 发布在公网上的,实际运行网站服务的是本… · 2026/11/5 1:43:38
MyBatis IN语句优化:自定义LanguageDriver实现简洁查询 1. MyBatis IN语句的痛点与解决方案作为一名长期使用MyBatis的开发老兵,相信大家都经历过这样的场景:每次写IN查询时,都要在XML里嵌套一长串<foreach>标签,就像下面这样:<select id"selectUsersByIds&qu… · 2026/11/5 2:19:49
C++求两数之和并返回下标详解 前言
「两数之和」要求在一个整数数组里找出两个数,使它们的和等于目标值,并返回这两个数的下标。它是哈希表最经典的应用场景,也是很多人接触「用空间换时间」的第一个例子。题目本身不难,但要把边界写对、把重复元素处理对、把返… · 2026/11/5 2:19:49
Field II超声仿真中数组索引错误的排查与解决 1. 问题现象与背景解析这个报错信息"超声PSFfield II:位置 1 处的索引无效。数组索引必须为正整数或逻辑值..."在医学图像处理和超声仿真领域相当典型。我处理过不下20例类似案例,主要出现在使用Field II超声仿真工具箱进行点扩散函数(PSF)建模… · 2026/11/5 2:19:49
关系数据库设计:关系模式与完整性约束详解 1. 关系数据库的核心基石:关系模式与完整性约束第一次接触数据库设计时,我曾在关系模式和完整性约束这两个概念上栽过跟头。记得当时为了赶项目进度,直接在MySQL里建表插数据,结果第二天就发现订单表里出现了不存在的客户ID&#… · 2026/11/5 2:19:49
STM32步进电机蓝牙串口定位与梯形加减速控制 简介:面向嵌入式初学者与STM32开发者的步进电机无线控制工程,围绕串口蓝牙通讯、定时器脉冲输出与电机驱动策略展开,可用于解决手机APP远程控制电机正反转、调速与定位的实际问题。压缩包共479个文件,约71.95MB,以80个… · 2026/11/5 2:19:49
Dify 1.13.1版本解析:向量数据库集成与AI应用安全升级 1. 版本升级核心价值解析Dify作为一款开源大模型应用开发平台,其1.13.1版本的发布标志着三个重要技术方向的突破:首先是对阿里云Hologres向量数据库的原生支持,这解决了大规模向量检索的性能瓶颈问题;其次是HITL(人在环… · 2026/11/5 2:18:49
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38
多智能体协作系统架构设计与实践优化 1. 多智能体协作系统的时代背景2017年Transformer架构的诞生彻底改变了人工智能的发展轨迹。当行业还沉浸在单一大模型带来的性能突破时,Anthropic的研究团队已经将目光投向了更前沿的领域——如何让多个智能体通过协作产生超越单体能力的系统智能。这就像交响乐团中… · 2026/11/5 0:00:39
大模型系统性入门实战指南:从原理到部署微调的全链路路线 提到大模型的系统性入门,我先说个结论:这事真不难,难的是资料太散、路线太多,今天这个框架明天那个工具,新人很容易在“收藏夹吃灰”和“教程看到一半放弃”之间反复横跳。市面上关于大模型的内容少说有几十万篇&#… · 2026/11/5 0:00:39
鸿蒙文件系统沙箱机制解析与开发实践 1. 鸿蒙文件系统沙箱机制深度解析作为一名从Android转向鸿蒙开发的工程师,我深刻体会到文件系统访问是迁移过程中最先遇到的"拦路虎"。在Android上运行良好的文件读写代码,在鸿蒙真机环境却频频出现文件写入后神秘消失或直接抛出权限拒绝错误的… · 2026/11/5 0:00:39
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38