如何将tweepy Twitter流保存到文件中?

Ant*_*ton 7 python twitter tweepy

我有一个工作脚本成功收集提到"stackoverflow"的推文.但是,我想在iPython中运行脚本(而不是执行一个单独的.py文件).理想情况下,我只想打开它ipyb文件,选择run all,让它运行一周左右(当然不关闭我的笔记本电脑),结果我有一个带有一周推文的.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"])
Run Code Online (Sandbox Code Playgroud)

Aje*_*han 7

将以下代码添加到现有代码中.'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
Run Code Online (Sandbox Code Playgroud)


rez*_*a_v 5

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

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

用于附加到现有文件,>>而不是>