我正在用Python编写一个脚本,它使用tweepy来搜索具有给定关键字的推文。这是片段:
for tweet in tweepy.Cursor(api.search, q=keyword, lang="en").items(10):
print tweet.id
我已经对所有内容进行了正确的身份验证,并且代码大部分时间都可以运行但是,当我尝试搜索某些关键字时(下面的示例),它不会返回任何内容。
导致麻烦的关键词是“digitalkidz”(技术会议)和“newtrendbg”(保加利亚公司)。如果你在Twitter上快速搜索其中任何一个,你会看到有结果。但是,tweepy没有找到任何东西。同样,它确实适用于我使用的任何其他关键字。
您是否有任何想法可能是什么问题以及如何解决? 谢谢
答案 0 :(得分:2)
我相信你忘记了twitter api的一个重要方面,它并非详尽无遗。
取自api docs
请注意,Twitter的搜索服务以及扩展名为Search API并不是Tweets的详尽来源。并非所有推文都会通过搜索界面编入索引或提供。
无论您是使用流媒体还是休息api,如果您正在寻找特定的推文,那么您将遇到此问题。
Rest API
在查找历史推文时,遗憾的是,您无法使用api.search()
获取任何超过一周的内容。这也显示在文档中。
请注意,搜索索引有7天的限制。换句话说,对于超过一周的日期,不会发现任何推文。
还有其他方法可以获取较旧的推文,this post详细说明了这些选项。
Streaming API
虽然听起来并不像是在使用Twitter的流媒体API,但应该注意的是,这只会提供一小部分Twitter当前的推文流量(~1-2%)。
希望这很有帮助。如果您有任何问题,请告诉我。