高级搜索API,使用retweets_of和from函数

时间:2019-04-03 09:51:18

标签: python-3.x twitter

我正在python3中使用TwitterAPI进行高级搜索,以查找已归档的推文,这些推文由user1从user2用特定关键字转发。经过一些建议后,我使用了https://developer.twitter.com/en/docs/tweets/rules-and-filtering/overview/operators-by-producthttps://github.com/geduldig/TwitterAPI来编写此代码,但是当我运行该代码时,没有得到任何输出或错误消息。

当我不使用retweets_of和来自运算符时,代码可以正常工作,但是这些是我想用来获取数据的规则。

我知道我的代码显示了优质的沙盒搜索,但是如果有正确的代码,我会将其升级为优质的完全存档搜索。

from TwitterAPI import TwitterAPI

#Keys and Tokens from Twitter Developer
consumer_key = "xxxxxxxxxxxxx"
consumer_secret = "xxxxxxxxxxxxxxxxxxx"
access_token = "xxxxxxxxxxxxxxxxxxx"
access_token_secret = "xxxxxxxxxxxxxxxxx"

PRODUCT = '30day'
LABEL = 'MyLABELname'

api = TwitterAPI(consumer_key, consumer_secret, access_token, access_token_secret)

r = api.request('tweets/search/%s/:%s' % (PRODUCT, LABEL),
            {'query':'retweets_of:user.Tesla from:user.elonmusk Supercharger battery'})

for item in r:
    print (item['text'] if 'text' in item else item)

有人知道我的代码有什么问题吗,还是有其他方法可以使用retweets_of和来自运营商的高级搜索。是否还可以在我的代码中添加一个count运算符,以便它将数字作为输出而不是所有书面形式的推文?

1 个答案:

答案 0 :(得分:1)

您应该省略“用户”。在您的query中。

此外,通过指定“ Supercharger battery”(超级充电电池)(这非常好),您在搜索结果中需要同时使用。但是,如果您只需要输入一个单词,则可以使用“ Supercharger OR battery”。

最后,要指定更多结果,请使用maxResults参数(10到100)。

以下是上述所有示例:

r = api.request('tweets/search/%s/:%s' % (PRODUCT, LABEL),
        {'query':'retweets_of:Tesla from:elonmusk Supercharger OR battery',
         'maxResults':100})

Twitter的高级搜索文档可能会有所帮助:https://developer.twitter.com/en/docs/tweets/search/api-reference/premium-search.html