tweepy stream.filter () Methode funktioniert nicht richtig
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
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.