Я работаю с Twitter API и tweepy
в надежде получить доступ к координатам геолокации из твитов. Моя конечная цель - хранить только координаты каждого твита в таблице.
Моя проблема заключается в том, что при размещении твитов я сталкиваюсь с ошибкой, когда предоставляется больше информации, чем координат:
Мой код на данный момент выглядит следующим образом:
import pandas as pd
import json
import tweepy
import csv
class MyStreamListener(tweepy.StreamListener):
def on_status(self, status):
if status.retweeted:
return
if True:
coords = status.coordinates
geo = status.geo
if geo is not None:
geo = json.dumps(geo)
if coords is not None:
coords = json.dumps(coords)
print(coords, geo)
with open('coordinates_data.csv', 'a') as f:
writer = csv.writer(f)
writer.writerow([coords,geo])
def on_error(self, status_code):
if status_code == 420:
#returning False in on_error disconnects the stream
return False
LOCATIONS = [-124.7771694, 24.520833, -66.947028, 49.384472, # Contiguous US
-164.639405, 58.806859, -144.152365, 71.76871, # Alaska
-160.161542, 18.776344, -154.641396, 22.878623] # Hawaii
auth = tweepy.OAuthHandler('access auths', 'access auths')
auth.set_access_token('token','token')
api = tweepy.API(auth)
user = api.me()
myStreamListener = MyStreamListener()
myStream = tweepy.Stream(auth = api.auth, listener=myStreamListener)
myStream.filter(locations=LOCATIONS)
Я уверен, что эта проблема связана с моим отсутствием понимания 'json', или что мне нужно использовать словарь данных.
Буду признателен за любую помощь!