J'ai trouvé un moyen d'utiliser purement Python pour obtenir les coordonnées des tweets en utilisant un filtre de mots. Il ne semble pas que beaucoup de gens incluent l'emplacement avec leurs tweets.
Ce n'est peut-être pas ce que vous recherchez non plus, car il s'agit de données de diffusion en direct. Vous pouvez le tester en mettant un mot de filtre unique, puis en tweetant ce mot depuis votre compte Twitter. Vous verrez votre tweet apparaître en Python presque instantanément. Ce serait assez cool à utiliser pour un événement énorme.
Vous devrez installer Tweepy .
pip install tweepy
Et obtenir une API Twitter Key .
Ensuite, vous pouvez utiliser ce script comme modèle:
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
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 not None:
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=["Halloween"])
Consultez également cette documentation sur Twitter, elle montre ce que vous pouvez mettre dans le filtre.
Voici le résultat de mettre le filtre en "Halloween" pendant quelques minutes:
Et pour l'enfer, voici les 2000 premiers tweets qui ont mentionné Halloween!
http://i.stack.imgur.com/bwdoP.png
Joyeux Halloween!