Контекст
Я работаю над темой моделирования для проекта Twitter.Идея состоит в том, чтобы найти все твиты, связанные с определенной страной, и проанализировать их, чтобы узнать, о чем говорят люди из определенной страны в Твиттере.
То, что я пробовал
1.Первое решение
Я знаю, что мы можем использовать потоковый API Twitter или курсор для получения твитов из определенной страны, и я попробовал следующий код, чтобы получить все твиты с заданными геокодамикоординаты страны.
Я написал следующий код:
def get_tweets(query_fname, auth, max_time, location=None):
stop = datetime.now() + max_time
twitter_stream = Stream(auth, CustomListener(query_fname))
while datetime.now() < stop:
if location:
twitter_stream.filter(locations=[11.94,-13.64,30.54,5.19], is_async=True)
else:
twitter_stream.filter(track=query, is_async=True)
Проблема этого подхода
Не все позволили Твиттеру получить доступ к информации о его местоположении, и при таком подходе я могу получить только несколько твитов, например, около 300 твитов для моего местоположения.
Некоторые люди не находятся встрана, но кто пишет в Твиттере о стране, и люди внутри страны отвечают им.Их твиты не учитываются этим подходом.
2. Второе решение
Другой подход заключался в сборе твитов с хэштегами, относящимися к стране скурсор
Я пробовал этот код:
def query_tweet(client, query=[], max_tweets=2000, country=None):
"""
query tweets using the query list pass in parameter
"""
query = ' OR '.join(query)
name = 'by_hashtags_'
now = datetime.now()
today = now.strftime("%d-%m-%Y-%H-%M")
with open('data/query_drc_{}_{}.jsonl'.format(name, today), 'w') as f:
for status in Cursor(
client.search,
q=query,
include_rts=True).items(max_tweets):
f.write(json.dumps(status._json) + "\n")
Задача
Этот подход дает больше результатов, чем первый, но, как вы можете заметитьНе все используют эти хэштеги для твитов о стране.
3.Третий подход
Я пытался получить твит, используя идентификатор места, специфичный для страны, но этодает ту же проблему, что и при первом подходе.
Мои вопросы
- Как я могу получить все твиты о конкретной стране?Я имею в виду все, что люди пишут в Твиттере для конкретной страны с или без хэштегов для конкретной страны?
Подсказка: для людей, которые не находятся в стране, может быть хорошей идеей получить их твитыесли им ответили или ретвитнули люди внутри страны.
С уважением.