簡體   English   中英

如何使用tweepy只返回一條推文

[英]How to return only one tweet, using tweepy

我是tweepy的新手,現在下面的代碼僅將結果輸出到屏幕,但是我想做的是:將每個結果傳遞給變量:

例如:

tweet = Twitter().start() 
print tweet
>> justinbieber

所以我的問題是我不知道如何一次返回一個值。

現在我有了這個,下面的代碼將永遠存在,當我按Ctrl + C之后,它將不會將結果存儲在tt中:

>>> import twitter_streaming_tweepy as t
>>> tt = t.Twitter().start()
alwaysupportjus
Madam_Rauhl

這是代碼:

import sys
import tweepy

output = []

class CustomStreamListener(tweepy.StreamListener):

    def on_status(self, status):
        try:
            print status.author.screen_name
            output.append(status.author.screen_name)

        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)
        stream.filter(follow=None, track=['justinbieber'])
        return output

if __name__ == "__main__":
    Twitter().start()

在類中創建一個名為“ tweet”的變量,並使用on_status事件使用this.tweet = status將接收到的對象發送到該變量。

作為性能提示,如果您逐一處理狀態,這將導致程序從Twitter延遲,而Twitter會中斷您的訪問。 確保在列表或隊列中在另一個線程中批量處理推文。

玩得開心。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM