Мой скрипт Python не выводит координаты независимо от того, какое ключевое слово я ищу, используя tweepy

Цель состоит в том, чтобы использовать python для поиска твитов, содержащих указанное слово, получить координаты широты и долготы и записать в .csv.

ОБНОВЛЕНИЕ: на данный момент он возвращает «нет координат» независимо от того, какое ключевое слово я использую.

 #All of the consumer keys, tokens, and imports are left out of this sample code. 

file = open("C:\Scripts\Output.csv", "w")
file.write("X,Y\n")

data_list = []
count = 0

class listener(StreamListener):

def on_data(self, data):
    global count

    #How many tweets you want to find, could change to time based
    if count <= 2000:
        json_data = json.loads(data)

        coords = json_data["coordinates"]
        if coords is None:
           print("no coordinates")
        else:
           print(coords["coordinates"])
           lon = coords["coordinates"][0]
           lat = coords["coordinates"][1]

           data_list.append(json_data)

           file.write(str(lon) + ",")
           file.write(str(lat) + "\n")

           count += 1
        return True
    else:
        file.close()
        return False

    def on_error(self, status):
        print(status)

auth = OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_secret)
twitterStream = Stream(auth, listener())
#What you want to search for here
twitterStream.filter(track=["horse"])

Ожидаемыми результатами будет файл CSV с координатами широты и долготы твитов с обозначенным словом «лошадь». ОБНОВЛЕНИЕ: он возвращает «нет координат» для любого ключевого слова, которое я пробую.


person Anthony Stokes    schedule 10.09.2019    source источник


Ответы (1)


У вас есть условное утверждение для:

if coords is not None:

Однако, если «координаты» равны None, для вашей программы нет подвоха. Я бы предположил, что именно здесь кроется ошибка.

Дайте мне знать, если это помогло! Ваше здоровье!

person Shaun Lowis    schedule 10.09.2019
comment
Я добавил оператор if else для обработки без координат, и он по-прежнему работает вечно. Я пытаюсь открыть CSV, и он говорит, что он заблокирован, предположительно, потому, что python все еще обращается к нему. Однако хорошее предложение, я ценю его. - person Anthony Stokes; 10.09.2019
comment
любые другие предложения? - person Anthony Stokes; 12.09.2019
comment
Мои мысли заключаются в том, чтобы добавить операторы печати в каждую вторую строку вашего кода, чтобы увидеть, где он на самом деле достигает, прежде чем он зависнет. - person Shaun Lowis; 12.09.2019
comment
Я использую код Visual Studio и добавляю точки останова. Теперь он просто не выводит координаты. Я не могу сказать, мой ли это сценарий или он действительно не может найти твиты со словом «лошадь». Мысли? - person Anthony Stokes; 13.09.2019
comment
Ну, я сомневаюсь, что он не найдет твиты со словом «лошадь», поскольку это должно вернуть хотя бы несколько результатов. Есть ли какой-нибудь способ проверить, правильно ли ваш скрипт очищает твиты? - person Shaun Lowis; 14.09.2019