Ich benutze diesen Code, um den Inhalt von Live-Streams mit dem 'Text' Bezeichner, der im Grunde erfasst den tatsächlichen Tweet Text von Tweepys Streaming-Capture-Funktion erfasst. Es scheint größtenteils zu funktionieren, aber ich bekomme auch die gelegentliche "Not Working" -Nachricht als Ergebnis der Ausnahme im Code, wenn ich das Skript ausführe (es passiert vielleicht einmal alle 10 10 Sekunden oder so, wenn ich einen Begriff, der stark im Trend liegt). Die Ausgabedatei erfasst trotzdem immer noch viele Tweets. Ich habe mich gefragt, ob jemand wüsste, was diese Ausnahme verursachen könnte, da ich mir Sorgen mache, dass ich den gelegentlichen Tweet verpassen könnte.Python Tweepy gelegentliche Ausnahme während des Streams
class MyListener(StreamListener):
def on_data(self, data):
try:
with open('python.json', 'a') as f:
datadict = json.loads(data)
f.write(datadict['text'])
return True
except BaseException as e:
print("Not Working")
return True
def on_error(self, status):
print(status)
return True
twitter_stream = Stream(auth, MyListener())
twitter_stream.filter(track=['Search_term_go's_here'])
Ich bekomme die Nachricht 'f.write (datadict ['Text']) KeyError: 'Text''. Ich bin mir immer noch nicht sicher, was falsch ist, aber es funktioniert, wenn ich etwas eintippe, das kein populärer Suchbegriff ist, aber wenn ich etwas aussagendes wie "trump" als Suchbegriff schreibe, erzeugt es eine Ausnahme. Vielleicht versuchen zu viele Einträge gleichzeitig in die Datei zu schreiben? – treetop