使用Tweepy开发Twitter自动点赞机器人运行报错求助
Tweepy 点赞机器人报错修复方案
你遇到的是两个独立问题,按以下顺序修复即可:
1. 修复异常捕获报错
你使用的Tweepy v4+版本中,不存在tweepy.errors.TweepError这个类,基础异常的正确类名是tweepy.errors.TweepyException,直接替换异常捕获语句里的类名即可。
2. 修复401无权限报错
报错提示Read-only application cannot POST说明当前请求用的密钥只有只读权限:
- 你在开发者后台修改应用权限为「Read and write」后,之前生成的Access Token和Secret不会自动更新权限,必须手动重新生成一对新的Access Token/Secret,替换代码里对应的旧值。
- 注意修改权限后一定要点页面底部的保存按钮,不保存的话权限配置不会生效。
3. 补全代码遗漏项
你贴的代码开头漏了tweepy库的导入语句,运行时会触发名称错误,需要补上。
修正后可运行的完整代码
import time import tweepy # 替换为你自己的密钥,注意Access Token/Secret必须是改完读写权限后重新生成的 auth = tweepy.OAuthHandler("YOUR_CONSUMER_KEY", "YOUR_CONSUMER_SECRET") auth.set_access_token("YOUR_NEW_ACCESS_TOKEN", "YOUR_NEW_TOKEN_SECRET") api = tweepy.API(auth, wait_on_rate_limit=True) search_keyword = "#crypto OR #nft" tweet_count = 500 for tweet in tweepy.Cursor(api.search_tweets, q=search_keyword).items(tweet_count): try: print("Tweet Liked") tweet.favorite() time.sleep(60) except tweepy.errors.TweepyException as e: print(e) except StopIteration: break
额外排查点
如果换完新密钥还是报401:
- 检查复制的密钥有没有前后多余空格,有没有把Consumer Key/Secret和Access Token/Secret填混
- 确认运行代码的设备系统时间和网络时间同步,时间偏差过大也会触发Twitter接口的401鉴权失败
内容的提问来源于stack exchange,提问作者Caesar
相关产品推荐
相关产品推荐

