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

Tweepy 401 Unauthorized错误:免费开发者账号爬取推文问题

解决Tweepy API 401未授权错误的步骤

1. 修复代码中的变量错误

你的代码重复实例化了tweepy.Client,第二次实例化时使用的consumer_key、consumer_secret等变量未定义,直接使用未赋值的变量会导致认证信息错误。保留一次实例化即可,确保密钥信息正确填写:

import tweepy

# 替换为你自己的真实密钥
consumer_key = "你的consumer_key"
consumer_secret = "你的consumer_secret"
access_token = "你的access_token"
access_token_secret = "你的access_token_secret"

# 仅实例化一次Client
client = tweepy.Client(
    consumer_key=consumer_key,
    consumer_secret=consumer_secret,
    access_token=access_token,
    access_token_secret=access_token_secret
)

query = 'news'
tweets = client.search_recent_tweets(query=query, max_results=10)
if tweets.data:
    for tweet in tweets.data:
        print(tweet.text)
else:
    print("未获取到推文")

2. 确认密钥与应用权限匹配

  • 检查使用的Access Token和Access Token Secret是否为对应应用的最新生成值,不要混用旧密钥或其他应用的密钥。
  • 确认开发者应用权限:免费版账号的search_recent_tweets接口需要应用具备Read权限,修改权限后需重新生成Access Token才能生效。

3. 验证认证信息有效性

用以下代码单独验证认证是否成功,排除爬取接口的额外干扰:

import tweepy

consumer_key = "你的consumer_key"
consumer_secret = "你的consumer_secret"
access_token = "你的access_token"
access_token_secret = "你的access_token_secret"

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)

try:
    user = api.verify_credentials()
    if user:
        print(f"认证成功,当前用户:{user.screen_name}")
except tweepy.errors.Unauthorized:
    print("认证失败,请检查密钥")

如果这段代码输出认证成功,再运行爬取推文的代码;若失败,重新核对密钥和应用配置。

4. 注意免费版API限制

免费版Twitter API的search_recent_tweets仅能获取最近7天的推文,且每15分钟最多允许100次请求,超出限制会返回429错误,但当前401为认证问题,优先解决认证环节。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 17:20:24