【问题标题】:How to return only one tweet, using tweepy如何使用 tweepy 只返回一条推文
【发布时间】:2013-04-20 04:41:33
【问题描述】:

我对 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()

【问题讨论】:

  • 您使用的是StreamListener,这就是推文是流媒体的原因。查看 API,看看是否有可以使用的非流媒体工具。

标签: python twitter tweepy


【解决方案1】:

在类中创建一个名为“tweet”的变量,并使用 on_status 事件将接收到的对象发送到使用 this.tweet = status 的变量。

作为性能提示,如果您逐个处理状态,这将导致程序从 Twitter 延迟,并且 Twitter 会切断您的流。确保列表或队列在另一个线程中将推文作为批处理处理。

玩得开心。

【讨论】:

    猜你喜欢
    • 2018-10-20
    • 2016-09-20
    • 2015-12-19
    • 2014-10-24
    • 1970-01-01
    • 2019-06-21
    • 1970-01-01
    • 2015-11-08
    • 2012-04-22
    相关资源
    最近更新 更多