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 获取最新推文
python&selenium自动化测试实战项目——全面完整详细(02)