Allumez! !!
Avec un créateur d'applications qui arrive parfois en regardant Twitter Bons amis, mon boum (des mots qui marmonnent souvent), etc ... À quelle fréquence le fais-tu?
Vraiment? N'y a-t-il pas quelque chose que je pense?
Oh, ce n'est pas l'efficacité commerciale, mais je vais l'écrire. C'est Rookie. Si vous êtes préoccupé par la rationalisation de votre travail, veuillez vous reporter à ici.
Est-ce que tout le monde se soucie de savoir comment obtenir la chronologie Twitter et comment la gérer? Je suis curieux. Ce genre de curiosité est important, n'est-ce pas?
Il semble faire cela.
Je l'ai inventé à midi mercredi et je l'ai fait deux nuits à partir de ce jour-là, la qualité du contenu est donc limitée.
Avez-vous un Macbook? Si vous ne l'avez pas maintenant, veuillez d'abord vous rendre dans l'Apple Shop. Ensuite, Emacs et Python devraient être installés pour le moment.
--Compte développeur Twitter
Vous avez besoin de Consumer Key, Consumer Key Secret, Oauth Token et Oauth Token Secret pour l'obtenir avec l'API. Ceux-ci peuvent être obtenus en enregistrant un compte de développeur Twitter. En conséquence, vous avez également besoin d'un compte utilisateur Twitter. J'ai oublié quel site j'ai vu, mais s'il vous plaît ici.
Ceci est également obligatoire. En gros, vous pouvez supprimer le zip du Site officiel et exécuter le binaire.
Cela ne peut pas être aidé, s'il vous plaît ici.
--Il y a Ubuntu
Puis ici.
--Installez Macab
Veuillez télécharger et décompresser les dictionnaires Source et IPA depuis ici. Dans chaque
$ ./configure --with-charset=utf8
$ make
$ sudo make install
Alors c'est bon.
Obtenez la chronologie d'un utilisateur spécifique avec l'API Twitter.
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 =Lors de l'extraction sur Twitter@La partie affichée par ACCOUNT
# 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 == "nom":
word = node.surface.decode("utf-8")
mecab.append(word)
elif pos == "verbe":
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)
Si vous voulez votre propre TL
timeline.py
...
url = "https://api.twitter.com/1.1/statuses/home_timeline.json"
...
params = {'count':200}
...
Pour ceux qui veulent les résultats d'une recherche de tweet
search.py
...
url = "https://api.twitter.com/1.1/search/tweets.json"
...
params = {'q':'Aoshima Meg', 'count':'200'}
...
est.
Le fichier de configuration Logstash est requis. Il est spécifié au démarrage.
(Les personnes qui commencent avec le service doivent le mettre sous / etc / logstash / conf.d /
)
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}"
}
}
Le reste des Elastic Stacks fait du bon travail.
Les paramètres de Kibana sont profonds, mais pour l'instant, copions et importons le fichier de paramètres depuis ici.
[Gestion] -> [Objets enregistrés] -> [Importer] sur le côté gauche de l'écran Kibana (http: // localhost: 5601
)
est.
Après cela, jouons avec cela et souvenons-nous-en avec votre corps.
Veuillez d'abord exécuter Elastic Stacks.
Le groupe de décompression zip est (Elastic Stack-version) / bin / (Elastic Stack)
,
Le démarreur automatique est service (Elastic Stack) start
.
Exécutez le code pour obtenir le tweet plus tôt.
$ python user.py
Si vous mettez le fichier qui sort à l'endroit où Logstash le lit (/ home / you / py
dans l'exemple ci-dessus), Logstash le sucera.
Tout ce que vous avez à faire est de regarder l'écran Kibana.
http://localhost:5601
Regardons maintenant les résultats.
Vous pouvez voir les balises de hachage que vous utilisez souvent et les personnes qui les déchirent souvent. Vous pouvez voir que je suis un démon de RT. Amazon semble être mon mot à succès pour une raison quelconque. L'idée est ... peut-être parce que j'ai RTing le bouton Amazon Dash. Vous pouvez également comprendre cela. Le temps de tweeter souvent est aussi visualisé, mais ... eh bien, mes yeux sont fatigués et je ne vois pas bien.
Au fait, le Mecab que j'ai installé était très finement divisé car le japonais est un ennemi difficile. Je ne suis pas sûr de Mecab, mais je pense que si vous le réduisez à des mots avec 3 lettres ou plus du côté kibana, vous pouvez voir des résultats plus décents.
Je me suis amusé! Au cours des deux derniers jours, je suis ami avec Mac même après avoir regardé Windows au travail, mais le plaisir n'est pas fatiguant.
Kibana a de nombreuses autres méthodes de visualisation. Essayez-le de vos propres mains ou un peu sur Google et vous trouverez des exemples intéressants.
Oh, pourquoi ai-je commencé à écrire ceci ... C'était amusant, alors ...
L'abus est interdit, non? C'est une promesse avec ton frère, non?
Recommended Posts