Was ist Twitter? Ein Werkzeug des Teufels, das der Menschheit wertvolle Zeit nimmt
Um den Zeitaufwand für Twitter so gering wie möglich zu halten, erstellen wir etwas, das nur Tweets auf einmal hervorhebt!
・ Extrahieren und zeigen Sie nur diejenigen mit den meisten Favoriten aus der Twitter-Timeline an ・ Ich wollte die Trends meiner Freunde kennen, nicht die Nachrichten, daher werden nur die Tweets der gemeinsamen Follower angezeigt.
Wir verwenden die sogenannte Twitter-API.
API : Application Programming Interface
- Eine Spezifikation der Schnittstelle, über die Softwarekomponenten miteinander interagieren. Einfach ausgedrückt handelt es sich um eine Schnittstelle, die beim Programmieren einer Anwendung präziser eingerichtet ist, um Ihnen die Programmierprobleme zu ersparen. * * Aussteller: Wikipedia "Application Programming Interface"
Ich sehe, wenn Sie API verwenden, können Sie verschiedene Dinge tun, ohne viel Code zu schreiben. Insbesondere wird die API von Webdiensten als Web-API bezeichnet, und es scheint möglich zu sein, Daten von Webdiensten zu erfassen. (Dies ist auch die Twitter-API)
Um die Twitter-API verwenden zu können, müssen Sie Ihr Konto auf der Entwicklerseite registrieren. https://dev.twitter.com/
Sie können viele Möglichkeiten finden, sich zu registrieren, indem Sie suchen. http://qiita.com/hazigin/items/d9caf26c23c65bd89976 https://syncer.jp/twitter-api-matome http://webnaut.jp/develop/633.html
Wenn Sie einen Punkt geben ・ Es ist erforderlich, eine Telefonnummer im Twitter-Konto zu registrieren ・ Es ist erforderlich, die URL der zu erstellenden Website zu registrieren (lokal ist vorerst in Ordnung). Ich fühle mich wie.
Sobald die Registrierung abgeschlossen ist ・ Verbraucherschlüssel ・ Verbrauchergeheimnis ・ Arsch und Ken ・ Zugriff auf Token Secret Sie können 4 Schlüssel bekommen. Sie sind jetzt bereit.
Die Sprache ist Python. Es scheint verschiedene Möglichkeiten zu geben, über Python auf Twitter zuzugreifen, aber diesmal habe ich auf [diese Site] verwiesen (http://qiita.com/yubais/items/dd143fe608ccad8e9f85).
top_fav_timeline.py
# -*- coding:utf-8 -*-
%matplotlib inline
from requests_oauthlib import OAuth1Session
import json
import datetime
import urllib, cStringIO
from PIL import Image
import matplotlib.pyplot as plt
#Holen Sie sich Token
CK = '******************' # Consumer Key
CS = '******************' # Consumer Secret
AT = '******************' # Access Token
AS = '******************' # Accesss Token Secert
#Sie können die Ober- und Untergrenze für die Anzahl der gelesenen Tweets und die Anzahl der Favoriten festlegen
def top_fav_timeline(count=100, minlim=2, maxlim=30):
"""Zeigen Sie diejenigen mit gemeinsamen Anhängern und einer großen Anzahl von Favoriten an
Streit
count:
Anzahl der Timeline-Erfassungen (Anzahl der ungleichen Anzeigen)
!! Möglicherweise funktioniert es aufgrund der Obergrenze für die Erfassung von Follow-Informationen nicht, wenn Sie es zu groß machen!
minlim, maxlim:
Untergrenze der Anzahl der Favoriten
"""
#Schlüssel holen
twitter = OAuth1Session(CK,CS,AT,AS)
#Holen Sie sich die Zeitleiste
url_timeline = "https://api.twitter.com/1.1/statuses/home_timeline.json"
#Parametereinstellung, hier geben Sie die Anzahl der Timeline-Erfassungen an
params_timeline = {'count':count}
#Holen Sie sich die Zeitleiste mit OAuth
req_timeline = twitter.get(url_timeline, params = params_timeline)
if req_timeline.status_code == 200:
#Da die Antwort im JSON-Format vorliegt, analysieren Sie sie
timeline = json.loads(req_timeline.text)
#Timeline-Benutzer_Name bekommen
test = []
for i in range(len(timeline)):
test.append(timeline[i]["user"]["screen_name"])
test_s = ','.join(test)
params_friend = {'screen_name':test_s}
#
url_friend = "https://api.twitter.com/1.1/friendships/lookup.json"
req_friend = twitter.get(url_friend, params = params_friend)
friend_test = json.loads(req_friend.text)
if req_friend.status_code == 200:
#Greifen Sie auf alle von der Timeline erfassten Tweet-Daten zu
for tweet in timeline:
#Erhalten Sie den Follower-Status von getwitterten Benutzern
for i in range(len(friend_test)):
if friend_test[i]['screen_name'] == tweet["user"]["screen_name"]:
test_num = i
#Wenn der Tweeting-Benutzer ein gegenseitiger Follower ist, wird dies in der Timeline angezeigt
if u'followed_by' in friend_test[test_num]['connections']:
# favorite_Anzahl über dem Schwellenwert anzeigen
if tweet["favorite_count"] >= minlim and tweet["favorite_count"] <= maxlim:
#Bildschirm
file = cStringIO.StringIO(urllib.urlopen(tweet["user"]["profile_image_url_https"]).read())
img = Image.open(file)
#plt Optionen verschiedene Einstellungen
plt.figure(figsize=(0.5,0.5)) #Größe
plt.axis('off') #Speicherzeile ausblenden
plt.imshow(img)
plt.show()
#Konvertieren Sie die Tweet-Zeit in den Datetime-Typ und konvertieren Sie sie in die japanische Zeit
dst = datetime.datetime.strptime(tweet["created_at"],'%a %b %d %H:%M:%S +0000 %Y') + datetime.timedelta(hours=9)
#Anzeige auf der Timeline
print dst
print tweet["user"]["name"] + " / @" + tweet["user"]["screen_name"]
print tweet["text"]
print '★:' + str(tweet["favorite_count"])
print '-------'
else:
#Wenn die Zeitleiste nicht abgerufen werden konnte
print ("Error: %d" % req.status_code)
Es ist fertig. Es ist voll für und wenn und es fühlt sich schlecht an. Da ich es in einem Notizbuch geschrieben habe, steht% matplotlib inline am Anfang.
Wenn du rennst ·Profilbild ・ Tweet Zeit ・ ID und Anzeigename ・ Tweet-Text ・ Anzahl der Favoriten Wird gedruckt. Es war mühsam, den Bildschirmnamen im Voraus von der Timeline abzurufen, um nicht mehrere Anforderungen zu stellen, und auf die Bild-URL zuzugreifen, um das Profilbild anzuzeigen und das Bild direkt aus dem Internet abzurufen und auf dem Jupiter anzuzeigen. ..
Dieses Mal haben wir Tweets mit gegenseitiger Verfolgung ausgewählt und angezeigt. Wenn Sie jedoch die Bedingungen ein wenig ändern, sollten Sie nur Tweets mit gegenseitiger Verfolgung "nicht" anzeigen können. Dies kann nützlich sein, um nach Nachrichten zu suchen, die häufig bevorzugt werden.
Sie können die Informationen von Tweets auf der Timeline mit GET statuses / home_timeline abrufen, aber ich denke, dass Sie verschiedene Dinge tun können, da Sie verschiedene Informationen wie den Tweet-Text, das Profilbild, die Tweet-Zeit und den Benutzer, der getwittert hat, abrufen können. ..
Lass uns Twitter genießen!
Twitter API TIPS https://dev.twitter.com/rest/public
Greifen Sie mit Python auf die Twitter-API zu http://qiita.com/yubais/items/dd143fe608ccad8e9f85
Es werden viele OAuth-Schlüssel angezeigt, aber ich habe versucht, jede Rolle zusammenzufassen http://d.hatena.ne.jp/mabots/20100615/1276583402
So konvertieren Sie ein Zeichenfolgendatum in Python in datetime. http://loumo.jp/wp/archive/20110408215311/
Recommended Posts