我正在python3中使用TwitterAPI进行高级搜索,以查找已归档的推文,这些推文由user1从user2用特定关键字转发。经过一些建议后,我使用了https://developer.twitter.com/en/docs/tweets/rules-and-filtering/overview/operators-by-product和https://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运算符,以便它将数字作为输出而不是所有书面形式的推文?
答案 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