2016-11-23 2 views
1

Ich möchte Tweet Daten mit Schlüsselwörtern zu crawlen: "Trump", "Clinton". Normalerweise benutze ich Jupyter Notebook um Python3 zu benutzen. Das Folgende ist mein Code, er hört auf, wenn ich Zellen starte.Twitter Mining mit Streaming-API, Python

eingefügt ich einige andere Codes zwischen den Codes, um den Fehler zu erhalten, aber entweder nicht funktioniert ..

def limit_handled(cursor): 
    while True: 
     try: 
      yield cursor.next() 
     except tweepy.RateLimitError: 
      time.sleep(15 * 60) 

Istas die Codes sind.

import tweepy 

# OAuth setup 
consumer_key = '000000000' 
consumer_secret = '000000000' 
access_token = '0000000000' 
access_secret = '000000000' 

auth = tweepy.OAuthHandler(consumer_key, consumer_secret) 
auth.set_access_token(access_token, access_secret) 

api = tweepy.API(auth) 

class MyListener(tweepy.StreamListener): 

    def on_data(self, data): 
     try: 
      with open('tweet_stream.json', 'a') as file: 
       file.write(data) 
       print(data) 
       return True 
     except BaseException as e: 
      print("Error on_data: {}".format(str(e))) 
     return True 


twitter_stream = tweepy.Stream(auth, MyListener()) 
twitter_stream.filter(track=['trump', 'clinton']) 

Codes Jupyter Notebook mit:

+0

Ooops, Ihre * geheim * Codes sind auf dem Screenshot. Sie müssen Ihre Authentifizierungsschlüssel neu generieren, damit Sie kein Spam-Bot werden. –

+0

Vielen Dank für Ihren Kommentar. Ich habe den Screenshot bearbeitet und meine Schlüssel neu generiert. –

Antwort

0

Sie müssen die api Objekt in den Stream-Objekt zu übergeben. Versuchen Sie, die Linie zu ändern:

twitter_stream = tweepy.Stream(auth, MyListener())

zu

twitter_stream = tweepy.Stream(api, MyListener())