2017-03-10 3 views
0

Ich versuche Twitter Streaming API zu verwenden, um gefilterte Tweets mit einigen Koordinaten zu sammeln, damit ich sie abbilden kann. Letzte Nacht, als ich Tweets sammelte, gab es ein Koordinatenfeld im Json-Objekt, das von Streaming-API zurückgegeben wurde. Heute versuche ich dasselbe zu tun, nur um Tweets weiter zu filtern, dass nur jene Tweets ausgewählt werden, wo die Koordinaten nicht null sind. Aber jedes Json-Objekt, das ich bekomme, hat kein Koordinatenfeld. Ich habe Google und Twitter API-Dokumentation gesucht, aber ohne Erfolg. Was ist das Problem und wie kann ich das angehen?Koordinatenfeld Twitter Streaming api

Code:

if (json_object["user"]["geo_enabled"]==True): 
    print json_object["user"]["coordinates"] #This doesn't print anything 

Antwort

1

Das coordinates Feld ist nicht standardmäßig bevölkert wegen Datenschutzgründen. Der Benutzer muss diese Geolocation-Funktion in seinem Profil aktivieren. Der Grund, warum Sie es nicht verwenden, ist, weil sehr wenige Leute es aktivieren - weniger als 1% der Tweets. Das Feld place wird häufiger verwendet. Es wird Ihnen jedoch keinen Standort geben. Es hat einen Ortsnamen und eine Bounding Box.

0

abzurufen zu koordinieren oder Ort (wenn Koordinaten None), aller Tweets mit Wort Liebe, die ich benutze:

for tweet in tweepy.Cursor(api.search, q='love', count = 10).items(): 
    if (tweet.coordinates is not None): 
     lon = tweet.coordinates['coordinates'][0] 
     lat = tweet.coordinates['coordinates'][1] 
    elif (tweet.place is not None): 
     # counding box of location 
     bbox = tweet.place.bounding_box.coordinates 
     lon = bbox[0][0][0] 
     lat = bbox[0][0][1] 
Verwandte Themen