持Essential权限仅可访问Twitter API v2时Tweepy爬取推文代码问题
问题解答:Essential权限下Tweepy股票推文抓取代码适配方案
你的现有代码无法正常运行,原因是你使用的
tweepy.API类封装的是Twitter API v1.1的接口,api.search_tweets属于v1.1的搜索端点,而你持有的Essential权限仅支持访问Twitter API v2的端点,权限不匹配。
调整建议
- 替换鉴权方式,使用Tweepy提供的
Client类对接v2接口,只读场景下直接使用Bearer Token鉴权更简便 - 替换搜索接口为v2的
search_recent_tweets,Essential权限下该接口仅支持查询最近7天内的推文,单次请求最多返回100条数据,如需获取更多需要处理分页逻辑 - 若需要获取推文文本之外的字段(如发布时间、发布者信息等),需要主动通过
expansions、tweet_fields等参数声明,v2接口默认仅返回推文id和text两个字段
适配后的参考代码
import tweepy # 替换为你自己的Bearer Token,可在Twitter开发者平台获取 bearer_token = "你的Bearer Token" client = tweepy.Client(bearer_token=bearer_token) search_term = 'stocks lang:en' tweet_amount = 200 # 分页获取200条推文,单次请求max_results最大设为100 tweets = tweepy.Paginator( client.search_recent_tweets, query=search_term, max_results=100 ).flatten(limit=tweet_amount) for tweet in tweets: print(tweet.text)
额外注意事项
- 请确保你的Tweepy版本 >=4.0,旧版本不支持v2接口封装
- Essential权限下
search_recent_tweets的月度请求配额为50万次,使用时注意不要超出配额限制 - v2的搜索query语法和v1.1基本兼容,原有过滤规则可以直接复用
内容的提问来源于stack exchange,提问作者pratham23
相关产品推荐
相关产品推荐

