高级搜索API,使用retweets_of和from function

问题描述 投票:2回答:1

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

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

我知道我的代码显示了一个优质的Sandbox搜索,但是当我拥有正确的代码时,我会将其升级到高级Full Archive搜索。

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)

有人知道我的代码有什么问题,或者有没有其他方法可以使用转发服务器和运营商进行高级搜索。是否也可以在我的代码中添加一个count运算符,因此它会将数字作为输出而不是所有的tweet写入?

python-3.x twitter
1个回答
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高级搜索文档可能会有所帮助:qazxsw poi

© www.soinside.com 2019 - 2024. All rights reserved.