Einschalten! !!
Mit einem App-Hersteller, der manchmal beim Ansehen von Twitter auftaucht Gute Freunde, mein Boom (Worte, die oft murmeln), etc ... Wie oft machst du es?
"Ja wirklich?" Gibt es nicht etwas, was ich denke?
Oh, es ist keine geschäftliche Effizienz, aber ich werde es schreiben. Dies ist Rookie. Wenn Sie Bedenken haben, Ihre Arbeit zu optimieren, lesen Sie bitte hier.
Interessiert es alle, wie man die Twitter-Timeline erhält und wie man damit umgeht? Ich bin neugierig. Diese Art von Neugier ist wichtig, nicht wahr?
Es scheint dies zu tun.
Ich habe es mir am Mittwochmittag ausgedacht und es zwei Nächte von diesem Tag an geschafft, daher ist die Qualität des Inhalts begrenzt.
Hast du ein Macbook? Wenn Sie es jetzt nicht haben, gehen Sie bitte zuerst in den Apple Shop. Dann sollten vorerst Emacs und Python installiert sein.
Sie benötigen Consumer Key, Consumer Key Secret, Oauth Token und Oauth Token Secret, um es mit der API zu erhalten. Diese erhalten Sie, indem Sie ein Twitter-Entwicklerkonto registrieren. Daher benötigen Sie auch ein Twitter-Benutzerkonto. Ich habe vergessen, welche Site ich gesehen habe, aber bitte machen Sie so etwas wie hier.
Dies ist auch erforderlich. Grundsätzlich können Sie die Zip-Datei von der offiziellen Website löschen und binär ausführen.
Es kann nicht geholfen werden, bitte hier.
Dann hier.
Bitte laden Sie die Quell- und IPA-Wörterbücher von [hier] herunter und entpacken Sie sie (http://taku910.github.io/mecab/#download). In jedem
$ ./configure --with-charset=utf8
$ make
$ sudo make install
Dann ist es ja gut.
Rufen Sie mit der Twitter-API die Zeitleiste eines bestimmten Benutzers ab.
user.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from requests_oauthlib import OAuth1Session
import json
import MeCab
CK = 'AAAAAAAAAAAAAAAAAAA'
# Consumer Key
CS = 'BBBBBBBBBBBBBBBBBBB'
# Consumer Key Secret
AT = 'CCCCCCCCCCCCCCCCCCC'
# Oauth Token
AS = 'DDDDDDDDDDDDDDDDDDD'
# Oauth Token Secret
url = "https://api.twitter.com/1.1/statuses/user_timeline.json" #this url for getting home timeline
#here can be set ID of tweet (ordered by time), and number of tweets (default is 20, max 200)
params = {'count':200, 'screen_name':'ACCOUNT'}
# ACCOUNT =Beim Rippen auf Twitter@Der von ACCOUNT angezeigte Teil
# GET request
twitter = OAuth1Session(CK, CS, AT, AS)
req = twitter.get(url, params = params)
f = open("user.json","w")
if req.status_code == 200:
timeline = json.loads(req.text)
for tweet in timeline:
array=[]
for word in tweet["text"].split(" "):
array.append(word)
tweet['words']=array
array=[]
tagger = MeCab.Tagger()
text_str = tweet["text"].encode('utf-8')
node = tagger.parseToNode(text_str)
mecab = []
while node:
pos = node.feature.split(",")[0]
if pos == "Substantiv":
word = node.surface.decode("utf-8")
mecab.append(word)
elif pos == "Verb":
word = node.surface.decode("utf-8")
mecab.append(word)
node = node.next
tweet['mecab']=mecab
json.dump(tweet, f)
f.write('\n')
else:
print("Error: %d" % req.status_code)
Wenn Sie Ihre eigene TL wollen
timeline.py
...
url = "https://api.twitter.com/1.1/statuses/home_timeline.json"
...
params = {'count':200}
...
Für diejenigen, die die Ergebnisse einer Tweet-Suche wünschen
search.py
...
url = "https://api.twitter.com/1.1/search/tweets.json"
...
params = {'q':'Aoshima Meg', 'count':'200'}
...
ist.
Die Logstash-Konfigurationsdatei ist erforderlich. Es wird beim Start angegeben. (Personen, die mit dem Dienst beginnen, sollten ihn unter "/ etc / logstash / conf.d /" einfügen.)
logstash.conf
input {
file {
path => "/Users/you/py/timeline.json"
start_position => "beginning"
type => "timeline"
codec => "json"
}
file {
path => "/Users/you/py/user.json"
start_position => "beginning"
type => "user"
codec => "json"
}
}
filter {
date {
match => [ "created_at" , "EEE MMM dd HH:mm:ss Z yyyy"]
target => "created_at"
}
grok {
match => { "created_at" => "%{YEAR}-%{MONTHNUM}-%{MONTHDAY}T%{HOUR:tweet_hour:int}:%{MINUTE}:%{SECOND}.000Z"}
}
ruby {
code => "event.set('[tweet_hour]', event.get('tweet_hour') + 9)"
}
if [tweet_hour] > 23 {
ruby {
code => "event.set('[tweet_hour]', event.get('tweet_hour') - 24)"
}
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "twitter-%{type}-%{+YYYY.MM.dd}"
}
}
Der Rest der Elastic Stacks macht einen guten Job.
Die Einstellungen von Kibana sind tiefgreifend, aber jetzt kopieren und importieren wir die Einstellungsdatei von hier.
[Verwaltung] -> [Gespeicherte Objekte] -> [Importieren] auf der linken Seite des Kibana-Bildschirms (http: // localhost: 5601
)
ist.
Lassen Sie uns danach damit herumspielen und uns mit Ihrem Körper daran erinnern.
Bitte führen Sie zuerst Elastic Stacks aus. Die Zip-Dekomprimierungsgruppe lautet "(Elastic Stack-Version) / bin / (Elastic Stack)". Der Autostarter ist "Service (Elastic Stack) Start".
Führen Sie den Code aus, um den Tweet früher zu erhalten.
$ python user.py
Wenn Sie die herauskommende Datei an der Stelle ablegen, an der Logstash sie liest (/ home / you / py
im obigen Beispiel), saugt Logstash sie an.
Alles was Sie tun müssen, ist auf den Kibana-Bildschirm zu schauen.
http://localhost:5601
Schauen wir uns nun die Ergebnisse an.
Sie können die Hash-Tags sehen, die Sie häufig verwenden, und die Personen, die sie häufig rippen. Sie können sehen, dass ich ein RT-Dämon bin. Amazon scheint aus irgendeinem Grund mein Schlagwort zu sein. Die Idee ist ... vielleicht, weil ich den Amazon Dash Button gedrückt habe. Sie können dies auch verstehen. Die Zeit zum Twittern wird oft auch visualisiert, aber ... nun, meine Augen sind müde und ich kann nicht gut sehen.
Übrigens war der Mecab, den ich eingesetzt habe, sehr fein geteilt, weil Japanisch ein schwieriger Feind ist. Ich bin mir bei Mecab nicht sicher, aber ich denke, wenn Sie es auf Wörter mit 3 oder mehr Buchstaben auf der Kibana-Seite eingrenzen, können Sie anständigere Ergebnisse sehen.
Es hat Spaß gemacht! In den letzten zwei Tagen war ich mit Mac befreundet, auch nachdem ich Windows bei der Arbeit angestarrt hatte, aber der Spaß ist nicht anstrengend.
Kibana hat viele andere Visualisierungsmethoden. Bitte versuchen Sie es mit Ihren eigenen Händen oder googeln Sie ein wenig und Sie werden einige faszinierende Beispiele finden.
Oh, warum habe ich angefangen, das zu schreiben ... Es hat Spaß gemacht, also ...
Missbrauch ist verboten, oder? Es ist ein Versprechen mit deinem Bruder, oder?
Recommended Posts