Obtenez des mots-clés arbitraires à l'aide de l'API Streaming de Twitter. Après tout, s'il s'agit de home_timeline, seules les personnes qui le suivent ne pourront pas collecter de données à moins que le streaming ne soit utilisé. On en a beaucoup parlé, mais maintenant j'ai touché à l'API Streaming.
stream.py
#!/user/bin/env python
# -*- coding: utf-8 -*-
from requests_oauthlib import OAuth1Session
import json
import requests
import time, calendar
import sys, codecs
word = raw_input(u"input: ")
C_KEY = "*************************************"
C_SECRET = "*************************************"
A_TOKEN = "*************************************"
T_SECRET = "*************************************"
URL = "https://stream.twitter.com/1.1/statuses/filter.json"
 
def Client_key():
    return OAuth1Session(C_KEY,
        client_secret = C_SECRET,
        resource_owner_key = A_TOKEN,
        resource_owner_secret = T_SECRET
    )
 
def Response(client, **filter_data):
    return client.post(
        URL,
        data = filter_data,
        stream = True
    )
def YmdHMS(created_at):
    time_utc = time.strptime(created_at, '%a %b %d %H:%M:%S +0000 %Y')
    unix_time = calendar.timegm(time_utc)
    time_local = time.localtime(unix_time)
    return int(time.strftime("%Y%m%d%H%M%S", time_local))
def Print_l(r):	
	for line in r.iter_lines():
		tweet = json.loads(line)
		
		Created_at = YmdHMS(tweet["created_at"])
		User = (tweet["user"]["screen_name"].encode("utf-8"))
		Name = (tweet["user"]["name"].encode("utf-8"))
		Text = (tweet["text"].encode("utf-8"))
		
		try:
			if tweet["user"]["lang"] == "ja":
				print "ID: ", User
				print "Nom d'utilisateur: ", Name
				print "Texte: ", Text
				print Created_at
				print "==" * 40
		except:
			pass
 
if __name__ == "__main__":
    client = Client_key()
    r = Response(client, track=word)
    Print_l(r)
Puisque vous obtenez des choses en temps réel, vous ne pouvez pas trouver un mot clé étrange et il n'y a pas d'objet json! Je me mets en colère. Il vaut mieux aller chercher les balises #hash unilatéralement.
Le changement de created_at à l'heure du Japon http://blog.unfindable.net/archives/4302 J'ai utilisé l'URL ci-dessus.
Terminez le script avec ctr + c.
Recommended Posts