我想访问Twitter的存档而不受速率限制或查询数量的限制。我不介意为此付费,所以我的计划是在Twitter的API平台上注册premium package。由于我熟悉Tweepy,我希望能够以通常的方式访问API。
然而,似乎我在Python中使用高级凭证查询API的唯一方法是通过Python Twitter Search API,它基本上是高级服务的python包装器。问题是高级访问的身份验证协议与限速免费访问的身份验证协议不同。这是最令人讨厌的,因为支持Python Twitter搜索API的searchtweets
库似乎相当原始,我几乎无法理解文档。
有谁知道是否有可能使用Tweepy访问Twitter的高级层?更好的工具只适用于免费套餐,这有点奇怪。
答案 0 :(得分:5)
事实并非如此。对于标准搜索和高级搜索,您可以使用相同的凭据(假设您已获得Twitter授权)。
TwitterAPI python包装器同时支持 - https://github.com/geduldig/TwitterAPI
from TwitterAPI import TwitterAPI
api = TwitterAPI(consumer_key, consumer_secret, access_token_key, access_token_secret)
r = api.request('tweets/search/fullarchive/:YOUR_LABEL',
{'query':YOUR_SEARCH_TERMS})
for item in r:
print(item)
答案 1 :(得分:3)
Tweepy现在支持here中所述的高级API。我必须从github而不是pip安装。请参见API.search_30_day和API.search_full_archive以及corresponding documentation for the premium search APIs的文档。
pip install --upgrade git+https://github.com/tweepy/tweepy@master
api
是不同的。 api.search
成为api.search_full_archive
或api.search_30_day
。
# premium search
tweets=tp.Cursor(api.search_full_archive,environment_name='you_env_name_here', query=search_words, fromDate=date_since).items(100)
# free search
tweets=tp.Cursor(api.search, q=search_words, lang="en",since=date_since).items(100)