Більше

Перетворення твітів у Twitter на бали?


Я проводив деякі дослідження щодо використання R для обміну даними twitter, але насправді не знайшов відповіді чи гідного підручника на своє запитання.

Мені цікаво витягувати твіти з твіттера з певним хештегом, протягом певного періоду, і складати розташування цих твітів на карті в QGIS або ArcMap.

Я знаю, що до твітів може бути пов’язана геолокація, але як я в першу чергу отримую цю інформацію?


Я знайшов спосіб, використовуючи чисто Python, щоб отримати координати для твітів за допомогою фільтра слів. Здається, багато хто не включає місце розташування зі своїми твітами.

Можливо, це не те, за чим ви переслідуєте, оскільки це потокові потокові дані. Ви можете перевірити це, поставивши унікальне слово-фільтр, а потім написавши це твіт із свого облікового запису Twitter. Ви побачите, як ваш твіт з’являється на Python майже миттєво. Це було б дуже класно використовувати для якоїсь величезної події.

Вам потрібно буде встановити Tweepy.

pip встановити

І отримайте ключ API від Twitter.

Тоді ви можете використовувати цей сценарій як шаблон:

import json from tweepy import Stream from tweepy import OAuthHandler from tweepy.streaming import StreamListener #Enter Twitter API Key information consumer_key = "consumer_secret =" access_token = "access_secret =" file = open ("C:  Output.csv", "w ") file.write (" X, Y  n ") data_list = [] count = 0 слухач класу (StreamListener): def on_data (self, data): global count # Скільки твітів, які ви хочете знайти, може змінитися з часом на основі if count <= 2000: json_data = json.loads (дані) coords = json_data ["координати"], якщо coords не значення None: друк coords ["координати"] lon = coords ["координати"] [0] lat = coords ["координати"] [1] data_list.append (json_data) file.write (str (lon) + ",") file.write (str (lat) + " n") count + = 1 return True else: файл .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 ()) # Що ви хочете шукати тут twitterStream.filter (trac k = ["Хелловін"])

Ознайомтеся з цією документацією також у Twitter, вона показує, що ви можете помістити у фільтр.

Ось результат використання фільтра на кілька хвилин як "Хелловін":

І на біс, ось перші 2000 твітів, в яких згадувався Хелловін!

http://i.stack.imgur.com/bwdoP.png ">

Щасливого Хеловіну!