首页 > 解决方案 > 获取帐户的关注者时,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日期和推文(状态),而这些都不会产生任何错误。

是我发现的唯一一个与我有关的问题,但我真的不知道这对我有什么帮助或是否对我有帮助。

提前致谢。我希望不会太愚蠢。:)

标签: pythontwittertweepy

解决方案


我回答我自己的问题。我Cursor(api.followers, screen_name=user).items(item_limit)用整个User对象而不是screen_name.


推荐阅读