Un script qui enregistre les résultats de recherche sur Twitter au format CSV. Comme d'habitude, s'il n'y a pas de fichier CSV sur lequel écrire, créez-le, Comme il s'agit d'une spécification, si vous l'exécutez à partir de la deuxième fois, l'en-tête CSV sera dupliqué, donc Il est nécessaire de prendre des mesures telles que renommer le nom du fichier.
twcsv.py
#!/user/bin/env python
# -*- coding: utf-8 -*-
from requests_oauthlib import OAuth1Session
import csv
import json
import sys, codecs
search_words = raw_input(u"Keyword?: ")
C_KEY = "******************************************"
C_SECRET = "******************************************"
A_KEY = "******************************************"
A_SECRET = "******************************************"
def Search_words():
url = "https://api.twitter.com/1.1/search/tweets.json?"
params = {
"q": unicode(search_words, "utf-8"),
"lang": "ja",
"result_type": "recent",
"count": "100"
}
tw = OAuth1Session(C_KEY,C_SECRET,A_KEY,A_SECRET)
req = tw.get(url, params = params)
tweets = json.loads(req.text)
f = open("tweetsearch.csv" , "ab")
writer = csv.writer(f)
writer.writerow(["datetime", "id", "name", "text"])
for tweet in tweets["statuses"]:
time = (tweet["created_at"])
id = (tweet["user"]["screen_name"].encode("utf-8"))
name = (tweet["user"]["name"].encode("utf-8"))
text = (tweet["text"].encode("utf-8"))
writer.writerow([time, id, name, text])
f.close()
return Search_words
Search_words()
Si vous aimez le format des données à écrire en CSV, il peut être plus facile à utiliser en le modifiant.
writer.writerow(["datetime", "id", "name", "text"])
Écrivez l'en-tête CSV et la première ligne de CSV avec. Comme il s'agit d'un en-tête, vous ne devez l'écrire qu'une seule fois.
writer.writerow([time, id, name, text])
Écrivez le contenu du tweet acquis dans cette partie au format CSV.
Quel genre de personnes tweetent quel genre de tweets, quand il y a beaucoup de tweets, etc. Je pense que c'est intéressant de faire un graphique, mais je n'ai pas assez de connaissances pour l'instant cette fois.
Recommended Posts