Python:带有 v2 完整档案搜索的 TwitterRequestError

Posted

技术标签:

【中文标题】Python:带有 v2 完整档案搜索的 TwitterRequestError【英文标题】:Python: TwitterRequestError with v2 full archive search 【发布时间】:2021-06-09 10:12:39 【问题描述】:

我想使用 v2 完整存档搜索来获取推文。 我不明白我从下面的代码中得到的错误。是不是我请求的次数太多了?

这里是 config.py

from TwitterAPI import TwitterAPI, TwitterPager
import csv


SEARCH_TERM = '#metoomen lang:en'
PRODUCT = 'fullarchive'
LABEL = 'prod'

api = TwitterAPI(api_key, 
             api_secret_key, 
             access_token, 
            access_token_secret)

r = TwitterPager(api, 'tweets/search/%s/:%s' % (PRODUCT, LABEL),
        'query':SEARCH_TERM, 
        'fromDate':'201710170000',
        'toDate':'201801312359',
        "maxResults":500
        ).get_iterator()
    

csvFile = open('data.csv', 'w',encoding='UTF-8')
csvWriter = csv.writer(csvFile)

for item in r:
    csvWriter.writerow([item['created_at'],
                    item["id_str"],
                    item["source"],                    
                    item['user']['screen_name'],
                    item["user"]["location"],
                    item["geo"],
                    item["coordinates"], 
                    item['text'] if 'text' in item else item])

这是我得到的错误。


TwitterRequestError: ('"error":"message":"Request exceeds account’s current package request limits. Please upgrade your package and retry or contact Twitter about enterprise access.","sent":"2021-06-09T09:54:54+00:00","transactionId":"8f5af84751ad0d30"',) (429): "error":"message":"Request exceeds account’s current package request limits. Please upgrade your package and retry or contact Twitter about enterprise access.","sent":"2021-06-09T09:54:54+00:00","transactionId":"8f5af84751ad0d30"

【问题讨论】:

【参考方案1】:

此错误表明您正在使用高级 v1.1 API 并进行了太多调用。您需要切换到使用 v2 完整存档搜索 URL。请注意,这要求您拥有具有学术访问权限的帐户。

类似

api = TwitterAPI(consumer_key, consumer_secret, access_token_key, access_token_secret, api_version='2')

r = api.request('tweets/search/all', 
    'query':QUERY, 
    'tweet.fields':'author_id',
    'expansions':'author_id')

TwitterAPI GitHub 存储库中有examples。

【讨论】:

谢谢。我有学术访问权限,并且想使用 v2 完整档案搜索。我见过一些代码使用“api.twitter.com/2/tweets/search/all”,但我不知道如何将它应用到我的代码中。你能教我怎么做吗? 我在上面添加了一个示例 sn-p。【参考方案2】:

请升级您的软件包并重试或联系 Twitter 了解企业访问权限。

在 twitter 中查看 api 页面

【讨论】:

以上是关于Python:带有 v2 完整档案搜索的 TwitterRequestError的主要内容,如果未能解决你的问题,请参考以下文章

电子档案怎么查

使用 twit npm 从 user_timeline 获取最新推文

Http File Server v2.4.0汉化版

python&selenium自动化测试实战项目——全面完整详细(02)

python&selenium自动化测试实战项目——全面完整详细(02)

python删除txt档案的首行的空行