[PYTHON] Erhalten Sie Tweets mit beliebigen Schlüsselwörtern mithilfe der Streaming-API von Twitter

Erhalten Sie mithilfe der Streaming-API von Twitter beliebige Schlüsselwörter. Wenn es sich um home_timeline handelt, können nur die Personen, die ihm folgen, keine Daten erfassen, es sei denn, Streaming wird verwendet. Es wurde viel darüber gesprochen, aber jetzt habe ich die Streaming-API berührt.

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 "Nutzername: ", Name
				print "Text: ", Text
				print Created_at
				print "==" * 40
		except:
			pass
 
if __name__ == "__main__":
    client = Client_key()
    r = Response(client, track=word)
    Print_l(r)

Da Sie Echtzeit-Dinge erhalten, können Sie kein seltsames Schlüsselwort finden und es gibt kein json-Objekt! Ich werde böse. Es ist besser, einseitig # Hash-Tags zu erhalten.

Die Änderung von created_at in Japan Zeit http://blog.unfindable.net/archives/4302 Ich habe die obige URL verwendet.

Beenden Sie das Skript mit Strg + C.

Recommended Posts

Erhalten Sie Tweets mit beliebigen Schlüsselwörtern mithilfe der Streaming-API von Twitter
Automatisches Follow-Back mit Streaming-API mit Tweepy
Holen Sie sich Tweets mit Tweepy
Rufen Sie weiterhin Tweets mit bestimmten Schlüsselwörtern mithilfe der Streaming-API in Python ab
Informationen erhalten Sie mit zabbix api
Holen Sie sich ein Ranking mit Rakuten API
Abrufen von Salesforce-Daten mithilfe der REST-API
Holen Sie sich Bewertungen mit Python Googlemap API
Abrufen von Amazon-Daten mit Keep API # 1 Abrufen von Daten
Erstellen Sie eine API mit hug mit mod_wsgi
Streaming-Spracherkennung mit der Google Cloud Speech API
Erhalten Sie E-Mails mithilfe der Google Mail-API in Java
Erhalten Sie Antworten auf bestimmte Tweets mit tweepy
Holen Sie sich Youtube-Daten in Python mithilfe der Youtube-Daten-API
Holen Sie sich Urlaub mit der Google Kalender-API
Extrahieren Sie plötzliche beliebte Wörter mit der Twitter-Streaming-API
Spielen Sie mit Dajare mithilfe der COTOHA-API
Erhalten Sie Informationen zur virtuellen Währung mit der API coin
Holen Sie sich viele Ihrer Tweets mit Tweepy
[Python] Holen Sie sich alle Kommentare mit Youtube Data Api
Holen Sie sich die Bild-URL mithilfe der Flickr-API in Python
Holen Sie sich Aktienkursdaten mit Quandl API [Python]
So erhalten Sie Artikeldaten mithilfe der Qiita-API
Letzte Ranglistenerstellung mit der Qiita-API mit Python
Holen Sie sich den Betreff und den Text von Google Mail mit der Python- und Google Mail-API