how to save stream tweet in json file

Viewed 85

I want to analyze tweets and ı got streamming tweets.... directly I want to streaming and saving json format of tweets.

how to save in json format while during streaming tweets via twitter api, I wrote and get stream tweets but ı didn't save json file while streaming.

class TwitteStreamer():

   def stream_tweet(self,hashtag_list):

      stream = tweepy.Stream(
      twitter_key.consumer_key, twitter_key.consumer_secret,
      twitter_key.access_token, twitter_key.access_token_secret
      )

    stream.filter(track=hashtag_list, languages=["en"])

this is custom listener

class TweetPrinter(tweepy.Stream):

   file = open('tweets.json', 'a')


   def on_status(self, status):
     print(status.text)
    
   def on_data(self,tweet):
     json_data = json.loads(data)
     file.write(str(json_data))
    
   def on_error(self, status_code):
     print(status_code)
     time.sleep(120)
     return False # To continue listening

   def on_timeout(self):
     time.sleep(120)
     return True # To continue listening



class Printer():

   def print_tweets(self, hashtag_list):

     printer = TweetPrinter(
      twitter_key.consumer_key, twitter_key.consumer_secret,
      twitter_key.access_token, twitter_key.access_token_secret
     )
     #printer.filter(track=hashtag_list)
     printer.filter(track=hashtag_list ,languages=["en"])



hashtag_list = ["btc","bitcoin","Bitcoin","#btc","#Bitcoin","BTC","#BTC"]

fetched_tweets_filename = "tweets.json"

twitter_streamer = TwitteStreamer()
twitter_streamer.stream_tweet(hashtag_list)

printer = Printer()
printer.print_tweets(hashtag_list)
0 Answers
Related