[PYTHON] Recevez des tweets avec des mots-clés arbitraires à l'aide de l'API Streaming de Twitter

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

Recevez des tweets avec des mots-clés arbitraires à l'aide de l'API Streaming de Twitter
Suivi automatique à l'aide de l'API de streaming avec Tweepy
Recevez des tweets avec Tweepy
Continuez à récupérer des tweets contenant des mots-clés spécifiques à l'aide de l'API Streaming en Python
Obtenir des informations avec l'API Zabbix
Obtenez un classement avec l'API Rakuten
Obtenir des données Salesforce à l'aide de l'API REST
Obtenez des avis avec l'API googlemap de python
Obtenez des données Amazon à l'aide de Keep API # 1 Obtenez des données
Créez une API en utilisant hug avec mod_wsgi
Reconnaissance vocale en streaming avec l'API Google Cloud Speech
Recevoir des e-mails à l'aide de l'API Gmail en Java
Obtenez des réponses à des tweets spécifiques avec tweepy
Obtenez des données Youtube en Python à l'aide de l'API Youtube Data
Obtenez des vacances avec l'API Google Agenda
Extraire des mots populaires soudains avec l'API de streaming Twitter
Jouez avec Dajare en utilisant l'API COTOHA
Obtenez des informations sur la monnaie virtuelle Coincheck avec l'API ♪
Recevez beaucoup de vos tweets avec Tweepy
[Python] Obtenez tous les commentaires à l'aide de Youtube Data Api
Obtenir l'URL de l'image à l'aide de l'API Flickr en Python
Obtenez des données sur le cours de l'action avec l'API Quandl [Python]
Comment obtenir des données d'article à l'aide de l'API Qiita
Création récente de classement à l'aide de l'API Qiita avec Python
Obtenez l'objet et le corps de Gmail avec Python et l'API Gmail