1

我对 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但是,如果我使用's ,我到底得到了什么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))

想象一下,我将最后一行放在一个 中infinite while loop,我会得到与第一个示例相同的结果吗?这两者有什么区别?

4

1 回答 1

1

这是我的见解。

流的第一个示例tweepy是 twitter流 API的用例。第二个python-twitter使用示例是 twitter搜索 API的用例。

因此,我将这个问题理解为:我应该使用 twitter 常规搜索 API 还是 Streaming API?

这取决于,但是,长话短说,如果你想看到真正的实时图片 - 你应该使用流媒体。

我没有足够的经验来向您解释这两种方法的优缺点,所以我只推荐您:

希望有帮助。

于 2013-05-05T19:27:55.377 回答