【问题标题】:How to save a tweepy Twitter stream to a file?如何将 tweepy Twitter 流保存到文件中?
【发布时间】:2015-03-23 16:27:20
【问题描述】:

我有一个工作脚本可以成功收集提到“stackoverflow”的推文。但是,我想在 iPython 中运行脚本(而不是执行单独的 .py 文件)。理想情况下,我只想打开它 ipyb 文件,选择全部运行,然后让它运行一周左右(当然不是关闭我的笔记本电脑),结果我有一个 .json 文件,其中包含一周的推文。

这是我目前所拥有的:

from tweepy import Stream
from tweepy import OAuthHandler
from tweepy.streaming import StreamListener

access_token = "x"
access_token_secret = "x"
consumer_key = "x"
consumer_secret = "x"

# file name that you want to open is the second argument
save_file = open('data.json', 'a')

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)
twitterStream = Stream(auth, listener())
twitterStream.filter(track=["stackoverflow"])

【问题讨论】:

    标签: python twitter tweepy


    【解决方案1】:

    将以下代码添加到您现有的代码中。 'fetched_tweets.txt' 是您要保存以'a'(附加模式)打开的推文的文件的名称。

    class StdOutListener(StreamListener):
    
        def on_data(self, data):
            #print data
            with open('fetched_tweets.txt','a') as tf:
                tf.write(data)
            return True
    
        def on_error(self, status):
            print status
    

    【讨论】:

      【解决方案2】:

      您可以通过将输出重定向到文件来做到这一点:

      在终端/CMD 中输入python twitter_streaming.py > twitter_data.txt

      要附加到现有文件,请使用 >> 而不是 >

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-06-25
        • 2018-05-25
        • 1970-01-01
        • 1970-01-01
        • 2010-09-29
        相关资源
        最近更新 更多