Ich verwende den folgenden Code, um Tweets zu einem bestimmten Thema zu sammeln, aber in allen Tweets, die ich extrahiert habe, ist das Attribut 'places' None. Mache ich etwas falsch? Außerdem soll der Code bestehende Tweets extrahieren und ich brauche keine Streaming-API-Lösung und suche nicht nach dieser Lösung der Streaming-API: Ссылка
%Vor% Die kurze Antwort lautet: Nein, Sie machen nichts falsch. Der Grund, warum alle place
-Tags leer sind, liegt darin, dass sie statistisch gesehen sehr unwahrscheinlich Daten enthalten. Nur etwa 1% aller Tweets haben Daten in ihrem place
-Tag. Dies liegt daran, dass Nutzer ihren Standort selten twittern. Ort ist standardmäßig deaktiviert.
Lade 100 oder mehr Tweets herunter und du wirst wahrscheinlich place
-Tag-Daten finden.
Wenn das place
-Feld ein MUSS für den ganzen Tweet ist, den Ihre App verarbeitet, können Sie Ihre Suche auf einen Ort beschränken, um sicherzustellen, dass das Ergebnis auf jeden Fall vorhanden ist.
Sie können dies tun, indem Sie den Parameter geocode
(Breite, Länge, Radius [km / mi]) festlegen, um Ihre Suche innerhalb eines Bereichs zu begrenzen.
Ein Beispiel für eine solche Anfrage über Twython ist:
%Vor%Nicht alle Tweets haben alle Felder wie TweetText, Ort, Land, Sprache usw.,
Um also KeyError
zu vermeiden, verwenden Sie den folgenden Ansatz. Ändern Sie Ihren Code so, dass, wenn das gesuchte key
nicht gefunden wird, ein Standardwert zurückgegeben wird.
Hier bedeutet die obige Zeile "suche nach dem Schlüssel country
nach dem Holen des Schlüssels place
, wenn es existiert, sonst gib None
"
kmario ist richtig. Die meisten Tweets haben diese Informationen nicht, aber ein kleiner Prozentsatz. Durch eine Ortssuche wird diese Chance z. Ссылка
%Vor%