Frage

Ich habe einige Probleme mit dem tweepy api bekommt.

Ich versuche nur eine kleine Anwendung zu schreiben, das mir einen Strom von Status eines Benutzer (oder mehr) bekommt, aber man wäre schön, mit zu beginnen; -)

jetzt: mein Code wie folgt aus:

    def main():
       config = ConfigParser.ConfigParser()
       config.read('twitter.cfg')

       username = config.get('Twitter', 'username')
       password = config.get('Twitter', 'password') 
           listener = StreamWatcherListener()

       stream = tweepy.Stream(username, password, listener, timeout=None)
       stream.filter('132897940')

in StreamWatcherListener habe ich eine Methode „on_status“, das druckt den Text eines Status, wann immer ein neuer kommt (alles scheint zu funktionieren, wenn ich versuche, stream.sample () anstelle von stream.filter ())

die angegebene ID ist mein Testaccount, so, wenn ich tweet ich soll eine Reaktion in der Konsole .... aber nichts passiert.

wenn ich versuche,

curl -d @following http://stream.twitter.com/1/statuses/filter.json -uAnyTwitterUser:Password

im Terminal, wie ich in der twitter api finden konnte, alles läuft gut.

Vielleicht mache ich falsch Verwendung des Filters () - Methode

?

irgendwelche Vorschläge?

-Andy

War es hilfreich?

Lösung

Ich fand es heraus ich

die stream.filter() Methode benötigt ein Array

so ich Code hatte

stream.filter(['1234567'])

et voilà

Andere Tipps

class TweetListener(StreamListener):
    def on_status(self,status):           
        print "TWEET ARRIVED!!!"
        print "Tweet Text : %s" % status.text
        print "Author's name : %s" % status.author.screen_name
        print "Time of creation : %s" % status.created_at
        print "Source of Tweet : %s" % status.source    
        time.sleep(10)       
        return True

    def on_error(self, status):        
       print status
       if status == 420:
            print "Too soon reconnected, Exiting!!"
            return False
        sys.exit()

def search_tweets():
    twitterStream = Stream(connect().auth, TweetListener())        
    twitterStream.filter(track=['Cricket','Maths','Army','Sports'],languages = ["en"],async=True)

Hier habe ich von den Asynchron-Parametern, es läuft jeden Strom auf einem anderen Thread. Siehe diesen Link zur Dokumentation oder weitere Informationen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top