【问题标题】:Tweepy giving error on trying to retrieve Tweets by IDTweepy 在尝试按 ID 检索推文时给出错误
【发布时间】:2020-10-02 15:37:28
【问题描述】:

我有一个我想使用 Tweepy 下载的推文 ID 列表。我在代码的列表中包含了它们的一个示例,但所有这些都出现错误。

我用实际的标记和键替换了标记和键,并尝试将推文 ID 用作字符串和整数,但都失败了。我总是收到“没有可用于指定 ID 的数据”错误。

import tweepy

def download_tweets():

    CONSUMER_KEY = "consumer key"
    CONSUMER_SECRET = "consumer secret"
    OAUTH_TOKEN = "auth token"
    OAUTH_TOKEN_SECRET = "auth token secret"

    auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
    auth.set_access_token(OAUTH_TOKEN, OAUTH_TOKEN_SECRET)
    api = tweepy.API(auth)

    tweets_IDs = [434828570574479360, 434828682352672768, 434828730394230784, 434828787793276928, 434828917174992896, 434829014013067265, 434829430746537985, 434829430746537985, 434829552742068224]

    for id in tweets_IDs:
        tweet = api.get_status(tweet_id)
        print(tweet)

错误:

raise TweepError(error_msg, resp, api_code=api_error_code) tweepy.error.TweepError: [{'code': 8, 'message': 'No data available for specified ID.'}]

【问题讨论】:

  • 某些推文可能已被其所有者删除或取消转发。

标签: python twitter tweepy


【解决方案1】:

现在,除了其中两个 ID 之外,所有 ID 均无效。这可能意味着它们从来都不是推文 ID,它们是现在已被删除的推文,发推文的帐户已被暂停,等等。

您可以简单地处理每次调用API.get_status 时引发的TweepError

【讨论】:

    【解决方案2】:

    您的代码中显然存在错误。您没有将正确的参数值传递给函数。您传递的是 tweet_id 而不是 id

    这是您的代码的工作版本:

    import tweepy
    
        def download_tweets():
        
            CONSUMER_KEY = "consumer key"
            CONSUMER_SECRET = "consumer secret"
            OAUTH_TOKEN = "auth token"
            OAUTH_TOKEN_SECRET = "auth token secret"
        
            auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
            auth.set_access_token(OAUTH_TOKEN, OAUTH_TOKEN_SECRET)
            api = tweepy.API(auth)
        
            tweets_IDs = [434828570574479360, 434828682352672768, 434828730394230784, 434828787793276928, 434828917174992896, 434829014013067265, 434829430746537985, 434829430746537985, 434829552742068224]
        
            for id in tweets_IDs:
                tweet = api.get_status(id)
                print(tweet)
    

    【讨论】:

      猜你喜欢
      • 2022-01-09
      • 2022-11-19
      • 1970-01-01
      • 2022-01-15
      • 2020-09-22
      • 2022-11-11
      • 2013-01-01
      • 2012-09-15
      • 1970-01-01
      相关资源
      最近更新 更多