You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何tweepy的api.search_tweets的count参数仅最多返回100条推文?

问题原因
  • api.search_tweets()对应的X(原Twitter)标准搜索API的单请求count参数上限为100,你设置超过100的数值都会被接口自动截断为100,这是每次只能拿到100条的核心原因
  • 网传的18000条上限是该接口的15分钟速率限制值:普通开发者权限下,15分钟内最多可以发起180次search_tweets请求,单次最多返回100条,累计可获取18000条,并非单请求就能拿到的数量
解决方案

使用分页拉取的方式,多次请求拼接结果,直到拿到目标数量的推文即可。Tweepy已经封装了分页工具Paginator,无需手动处理分页参数,修改后的代码示例如下:

import tweepy

# 此处省略你的API密钥认证逻辑,初始化API时建议加wait_on_rate_limit参数,触发速率限制时自动等待
# auth = tweepy.OAuth1UserHandler(consumer_key, consumer_secret, access_token, access_token_secret)
# api = tweepy.API(auth, wait_on_rate_limit=True)

search_term = "bitcoin -filter:retweets"
tweets = []
# 分页拉取,每页100条,总共拉取10000条
for page in tweepy.Paginator(api.search_tweets, q=search_term, lang="en", count=100).limit(10000):
    tweets.extend(page)

print(f"Number of tweets found: {len(tweets)}")

# 遍历逻辑和原代码一致
for tweet in tweets:
    print(f"{tweet.user.name} tweeted: ")
    print(tweet.text)
    print(f"# of likes: {tweet.favorite_count}")
    print(f'# of retweets: {tweet.retweet_count}')
    print("-------------------------------------------------------------------------------")
注意事项
  • 标准搜索API仅支持拉取最近7天内的推文,如果7天内符合筛选条件的推文不足10000条,最终获取的数量会低于预期
  • 如果需要拉取更早时间的推文,需要申请学术研究权限或者使用付费的X API接口

内容的提问来源于stack exchange,提问作者Jaden Leonard

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 07:36:05