我正在尝试使用Tweepy获取带有关键字的所有推文,并且它不会返回某些关键字的任何内容。例如,如果使用奥巴马作为关键字,我会收到很多推文,如果我使用Arduino,我的代码就不会得到任何回复。
from tweepy.streaming import StreamListener
from tweepy import OAuthHandler
from tweepy import Stream
consumer_key=""
consumer_secret=""
access_token=""
access_token_secret=""
class Listener(StreamListener):
def on_data(self, data):
print data
return True
def on_error(self, status):
print status
auth = OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
stream = Stream(auth, Listener())
stream.filter(track=['arduino'])
我做错了什么? 另外,我可以以某种方式过滤RT吗?
答案 0 :(得分:1)
Stream()
用于实时推文收集。你没有收集关于arduino
的任何推文的原因是因为它发布的信息比奥巴马这样的名人要少得多(例如,当我尝试时,我在2秒内得到5条关于奥巴马的推文,但是我花了10分钟收集一条提到Arduino的推文。请记住,过滤器也区分大小写。要获得非实时推文,您需要使用tweepy.API
。{{1}对象。
像这样:
twAPI = tweepy.API(auth)
list_of_tweets = twAPI.search("Arduino")
我希望这有帮助!
编辑: IDK如果tweepy与REST 1.1兼容(我使用版本1.0抛出了一些警告)。如果tweepy失败,请查看.search()。