我对twitter api很新,请帮助我理解两件事之间的区别。
据我了解,我可以使用tweepy
获取实时推文,例如:
hashtag = ['justinbieber']
class CustomStreamListener(tweepy.StreamListener):
def on_status(self, status):
try:
data = status.__getstate__()
print data
output.write("%s\n "% data)
except Exception, e:
print >> sys.stderr, 'Encountered Exception:', e
pass
def on_error(self, status_code):
print >> sys.stderr, 'Encountered error with status code:', status_code
return True # Don't kill the stream
def on_timeout(self):
print >> sys.stderr, 'Timeout...'
return True # Don't kill the stream
class Twitter():
def __init__(self):
consumer_key=
consumer_secret=
access_key =
access_secret =
self.auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
self.auth.set_access_token(access_key, access_secret)
self.api = tweepy.API(self.auth)
def start(self):
l = CustomStreamListener()
stream = tweepy.streaming.Stream(self.auth,l, secure=True)
stream.filter(follow=None, track=hashtag)
if __name__ == "__main__":
Twitter().start()
但是如果我使用python-twitter
的{{1}},我到底得到了什么?例如:
api.GetSearch()
想象一下,我将最后一行放在def t_auth(self):
consumer_key=
consumer_secret=
access_key =
access_secret =
self.api = twitter.Api(consumer_key, consumer_secret ,access_key, access_secret)
self.api.VerifyCredentials()
return self.api
self.tweets = []
self.tweets.extend(self.api.GetSearch(self.hashtag, per_page=10))
中,我会得到与第一个例子中相同的结果吗?这两者有什么区别?
答案 0 :(得分:1)
这是我的见解。
tweepy
流的第一个示例是twitter streaming API的用例。
使用python-twitter
的第二个示例是twitter search API的用例。
所以,我理解这个问题:我应该使用Twitter常规搜索API还是Streaming API?
这取决于,但是,长话短说,如果你想看到真正的实时图片 - 你应该使用流媒体。
我没有足够的经验向你解释这两种方法的道具和缺点,所以我只想推荐你:
希望有所帮助。