如何解决使用 Tweepy 在一次通话中获取不同主题标签的推文
我想使用 Tweepy 获取针对不同 Hash 标签的流行和最新推文。我现在的解决方案如下所示。但是这种方法对每个hashtag都进行了单独的调用,这在存在速率限制的情况下并不好。是否可以在一次通话中完成此操作?如果是这样,如何?
for ht in hash_tags:
tweets = tweepy.Cursor(api.search,ht + " -filter:retweets",result_type='mixed',since=date_since,tweet_mode='extended').items(num_of_tweets)
add_tweets(tweets)
解决方法
与运行一次 for
循环搜索一个主题标签不同,您可以使用 Twitter's standard search operators 中的 OR 运算符运行包含许多您需要的主题标签的搜索。这是一个更广泛的搜索,您会为每个主题标签获得不同的结果,但它减少了您提出的总体请求数量。
因此,将所有主题标签添加到一个字符串中,并将其作为查询传递。
#just an example,not the nicest!
query_string = ""
for i in hash_tags:
if i == hash_tags[-1]:
query_string+=str(i)
else:
query_string+=str(i) + " OR "
tweets = tweepy.Cursor(api.search,q=query_string + " -filter:retweets",result_type='mixed',since=date_since,tweet_mode='extended').items(num_of_tweets)
add_tweets(tweets)
这意味着您的搜索将类似于 #coolstuff OR #reallycoolstuff OR #evencoolerstuff
。这样做可能值得增加返回的项目数量,因为搜索范围会更加广泛。
请记住,您可以搜索的查询大小是有限制的,因此如果您有很多主题标签,您可能需要将其分解为更小的查询。这也可以帮助您获得更好的结果(例如,查询字符串中更受欢迎的主题标签占据了您的大量结果,因此单独搜索不太受欢迎的主题标签;不过,您将如何衡量这一点取决于您!)
希望这可以帮助您入门。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。