Код Python для извлечения твитов с их местом, откуда он помечен

Я очень плохо знаком с Python. Мне нужен код, который будет получать твиты и места, где он отмечен, или твиты с геотегами.

У меня есть код, который будет экспортировать твиты csv-файл на основе данного хеш-тега, я хочу добавить еще один столбец, с указанием, откуда он твитнул.

Пожалуйста помоги мне с этим.

Код выглядит следующим образом:

import tweepy
import csv
import pandas as pd
####input your credentials here
consumer_key = ''
consumer_secret = ''
access_token = '-'
access_token_secret = ''

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth,wait_on_rate_limit=True)


csvFile = open('mydoc.csv', 'a')
#Use csv Writer
csvWriter = csv.writer(csvFile)

for tweet in tweepy.Cursor(api.search,q="#iPhoneX",count=100,
                       lang="en",
                       since="2017-01-01").items():
print (tweet.created_at, tweet.text)
csvWriter.writerow([tweet.created_at, tweet.text.encode('utf-8')])

Я очень нуждаюсь в этом. Пожалуйста, помогите!!!

1 ответ

Я думаю, что вы можете сделать так:

for tweet in tweepy.Cursor(api.search, q="#iPhoneX", count=100, lang="en",
                           since="2017-01-01").items():
    if tweet.coordinates or tweet.geo:
        print(tweet.id_str, tweet.coordinates, tweet.geo)

Вы можете увидеть структуру tweet объект (также называется status) здесь. Различные поля соответствуют:

  • coordinates: "Представляет географическое местоположение этого твита, как сообщается пользователем или клиентским приложением. Массив внутренних координат отформатирован как geoJSON (сначала долгота, затем широта)"
  • place: "Когда присутствует, указывает, что твит связан (но не обязательно с) PlaceMsgstr "Это происходит, когда пользователь отметил место для твита.
  • geo: "Устаревший. Используйте coordinates поле вместо Этот устаревший атрибут имеет свои координаты, отформатированные как [lat, long], в то время как все остальные гео Tweet отформатированы как [long, lat]."
Другие вопросы по тегам