python - 获取帐户的关注者时,Tweepy 抛出“tweepy.error.TweepError”状态代码 414
问题描述
我正在学习如何使用 Tweepy,并构建一个获取帐户信息的小应用程序。但是,在请求帐户的关注者时,我不断收到以下错误:
File "C:\PycharmProjects\Metrics\TwitterParsers.py", line 357, in _get_type_of_resource
for follower in followers:
File "C:\PycharmProjects\Metrics\venv\lib\site-packages\tweepy\cursor.py", line 47, in __next__
return self.next()
File "C:\PycharmProjects\Metrics\venv\lib\site-packages\tweepy\cursor.py", line 195, in next
self.current_page = self.page_iterator.next()
File "C:\PycharmProjects\Metrics\venv\lib\site-packages\tweepy\cursor.py", line 73, in next
**self.kargs)
File "C:\PycharmProjects\Metrics\venv\lib\site-packages\tweepy\binder.py", line 250, in _call
return method.execute()
File "C:\PycharmProjects\Metrics\venv\lib\site-packages\tweepy\binder.py", line 233, in execute
raise TweepError(error_msg, resp, api_code=api_error_code)
tweepy.error.TweepError: Twitter error response: status code = 414
我followers
使用以下函数得到“tweepy.cursor.ItemIterator”:
def get_followers(user: str, item_limit: int = None):
if item_limit is not None:
return Cursor(api.followers, screen_name=user).items(item_limit)
else:
return Cursor(api.followers, screen_name=user).items()
起初我认为该错误可能是由于对速率限制的管理不善,但将请求项目的数量降低到 1 或 2 并没有什么区别。
由于 HTTP 请求是由 tweepy 构建的,而我只是使用接口,我不知道为什么会收到“URI 太长”错误。
从其他帐户请求数据时,我也有一次 431(请求标头字段太大),但我无法重现它。
问题与请求关注者有关,因为我还在检索用户帐户的描述、created_at
日期和推文(状态),而这些都不会产生任何错误。
这是我发现的唯一一个与我有关的问题,但我真的不知道这对我有什么帮助或是否对我有帮助。
提前致谢。我希望不会太愚蠢。:)
解决方案
我回答我自己的问题。我Cursor(api.followers, screen_name=user).items(item_limit)
用整个User
对象而不是screen_name
.
推荐阅读
- kentico - 如何在 kentico 10 的 c#code 中使用电子邮件模板
- java - 动态识别base64编码的文件类型
- vue.js - 如何在 Vue 中加载 CSS 和 js 资源
- ios - Xcode 11.0 Beta 4 构建和运行,但无法存档
- ramda.js - R.cond 无法读取未定义的属性“长度”
- sql - 当 SQL 中不存在值时返回 null
- java - 报告生成器的 jMeter 代码中的线程“main”java.lang.NullPointerException 中的异常
- flutter - Flutter - 如何在 Flutter 中从 Phpmyadmin 获取和显示数据
- java - 未解决的 Portlet 部署要求
- php - 如何修复 php 每次上传仅上传 1 行 .csv、.xls、.xlsx 文件?