使用Tweepy访问Twitter的高级API

8
我希望能够不受速率限制或查询次数限制地访问Twitter的存档。我不介意为此付费,所以我的计划是在Twitter的API平台上注册高级套餐。由于我熟悉Tweepy,所以我希望能够像往常一样访问API。

然而,似乎我唯一能够使用Python查询API的方式是通过Python Twitter Search API,这基本上是一个用于高级服务的Python包装器。问题在于,高级访问的身份验证协议与有速率限制的免费访问的协议不同。这非常令人恼火,因为支持Python Twitter Search API的searchtweets库似乎相当原始,我几乎看不懂文档。

是否有人知道是否可以使用Tweepy访问Twitter的高级套餐?这有点奇怪,更好的工具只适用于免费套餐。

2个回答

8

这并不是真的。假设你被Twitter授权,你可以使用相同的凭据(credentials)来进行标准搜索和高级搜索。

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)

谢谢。很好,看来我在那一点上是错的。不过,我的主要问题是,如果我的凭据允许那个级别的访问,我是否可以使用Tweepy进行高级搜索。有关此事的任何信息? - Lodore66
1
Tweepy文档中没有提到“Premium”,所以我认为不支持。这就是为什么我推荐你使用TwitterAPI的原因。 - Jonas

5
Tweepy现在支持高级API,详情请查看此处链接。我不得不从GitHub安装,而非pip。请查看文档API.search_30_dayAPI.search_full_archive以及高级搜索API的相应文档
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)

为了使用Twitter高级API,需要使用pip install --upgrade git+https://github.com/tweepy/tweepy@master更新tweepy。 - msklc
确实,这就是为什么我包含它的原因 :) 我应该让它更清晰明了。 - Climbs_lika_Spyder

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接