J'ai essayé de visualiser facilement les tweets de JAWS DAYS 2017 avec Python + ELK

Elasticsearch Quand je pensais essayer diverses choses, j'ai décidé d'utiliser le journal des tweets de JAWS DAYS 2017, que j'ai également tweeté.

supposition

  1. Python utilise la série 2.7
  2. ELK utilise 5.2.2

Recherche de journal depuis Twitter

J'ai mis le code source créé ici. Il peut être utilisé en entrant la clé d'accès. (Il est nécessaire de terminer l'inscription à l'API Twitter comme préparation préliminaire.)

https://github.com/kojiisd/TweetsSearch

import twitter
from twitter import Api
import sys
import os
import time
import json

reload(sys)
sys.setdefaultencoding('utf-8')
from collections import defaultdict

maxid = 0
search_word = "#XXXXXX"

api = Api(base_url="https://api.twitter.com/1.1",
          consumer_key='XXXXXXXX',
          consumer_secret='XXXXXXXX',
          access_token_key='XXXXXXXX',
          access_token_secret='XXXXXXXX')


count = 0
file = open(name='../data/result.json', mode='w')
found = api.GetSearch(term=search_word, count=100, lang="ja", result_type='mixed', until="yyyy-mm-dd")
while count < 3000:
    for result in found:

        file.write(str(result) + os.linesep)

        count += 1
        maxid = result.id
    found = api.GetSearch(term=search_word, count=100, result_type='mixed', max_id=maxid - 1)

file.close()
print "TweetsNum: " + str(count)

Essayez une recherche avec le hash tag de JAWS DAYS 2017

{
    "created_at": "Sat Mar 11 04:57:29 +0000 2017", 
    "favorited": false, 
    "hashtags": [
        "jd2017_b", 
        "jawsdays"
    ], 
    "id": XXXXXXXXXXXXXXXXXX, 
    "lang": "ja", 
    "retweeted": false, 
    "source": "<a href="http://twitter.com" rel="nofollow">Twitter Web Client</a>", 
    "text": "Plein + debout. C'est incroyable.#jd2017_b #jawsdays", 
    "truncated": false, 
    "user": {
        :
        :
        :
        "name": "Koji, 
        :
        :
        :
        "screen_name": "kojiisd", 
        :
        :
        :
    }
}

Pour logstash, je voulais voir le résultat immédiatement, donc je l'ai juste importé au format JSON Je n'ai pas écrit beaucoup de traitement dans le fichier de configuration ...

En conséquence, l'indice est devenu difficile, mais pour le moment, je continuerai tel quel.

スクリーンショット 2017-04-06 7.26.23.png

Ainsi, ELK est pratique quel que soit le nombre de fois que vous l'utilisez. Tant que je suis heureux que Kibana puisse faire une petite visualisation une fois qu'il est versé dans Elasticsearch. J'ai essayé d'organiser le nombre de tweets pour chaque utilisateur dans les tweets acquis cette fois. L'utilisateur qui tweete peut être obtenu par "user.screen_name".

スクリーンショット 2017-04-04 7.14.22.png

Hmmm, peut-être que vous vous êtes bien battu, mais n'avez-vous pas tweeté 100? Faisons de notre mieux.

La personne la plus retweetée était "nakayama_san". C'est lui qui affiche toujours des images faciles à comprendre lors des sessions d'étude. Convaincu. Les retweets sont limités par "retweeted_status.user.screen_name". Je me demande si ça va comme ça ... スクリーンショット 2017-04-04 7.26.32.png

Au fait, quand j'essaye d'afficher le nuage de tags pour le moment, ça ressemble à ça. Ce n'est pas du tout bon (^^; C'est naturel, mais c'est parce que je n'ai rien défini de tel qu'analysé. スクリーンショット 2017-04-06 7.33.21.png

Avec JAWS DAYS, il y a peu de tweets eux-mêmes, il semble donc nécessaire de faire des préparatifs tels que l'analyse correcte de la chaîne de caractères, la prise en compte correcte du paramètre logstash et l'ajout d'un modèle à l'index cible.

Cependant, si vous vous préparez correctement et que vous les analysez ensuite, vous pourrez voir les mots-clés de tendance dans re: Invent.

Résumé

Pour le moment, j'ai créé un flux «d'acquisition de données» → «visualisation». Cette fois, je l'ai créé en supposant qu'il sera exécuté localement, mais si vous pouvez l'analyser sur AWS tel quel et publier l'URL, il sera peut-être possible d'afficher les mots-clés de tendance dans le nuage de balises en temps réel. Hmm. Si vous en avez envie, essayons-le avant de re: Inventer.

Recommended Posts

J'ai essayé de visualiser facilement les tweets de JAWS DAYS 2017 avec Python + ELK
J'ai essayé de trouver l'entropie de l'image avec python
[Python] J'ai essayé de visualiser des tweets sur Corona avec WordCloud
[Python] J'ai essayé de visualiser la relation de suivi de Twitter
J'ai essayé d'améliorer l'efficacité du travail quotidien avec Python
[Python] J'ai essayé de visualiser la nuit du chemin de fer de la galaxie avec WordCloud!
J'ai essayé d'obtenir le code d'authentification de l'API Qiita avec Python.
J'ai essayé de rationaliser le rôle standard des nouveaux employés avec Python
J'ai essayé de visualiser le texte du roman "Weather Child" avec Word Cloud
J'ai essayé d'obtenir les informations sur le film de l'API TMDb avec Python
[Python] J'ai essayé de visualiser le prix en argent de "ONE PIECE" plus de 100 millions de caractères avec matplotlib.
J'ai essayé de toucher un fichier CSV avec Python
J'ai essayé de résoudre Soma Cube avec python
J'ai essayé de visualiser les informations spacha de VTuber
J'ai essayé de résoudre le problème avec Python Vol.1
J'ai essayé de résumer les opérations de chaîne de Python
J'ai essayé d'envoyer automatiquement la littérature du nouveau virus corona à LINE avec Python
J'ai essayé la "correction gamma" de l'image avec Python + OpenCV
J'ai essayé de simuler la propagation de l'infection avec Python
J'ai essayé de trouver la moyenne de plusieurs colonnes avec TensorFlow
Python pratique 100 coups J'ai essayé de visualiser l'arbre de décision du chapitre 5 en utilisant graphviz
J'ai essayé d'automatiser la mise à jour de l'article du blog Livedoor avec Python et sélénium.
J'ai essayé de visualiser les caractéristiques des nouvelles informations sur les personnes infectées par le virus corona avec wordcloud
J'ai essayé de visualiser les données de course du jeu de course (Assetto Corsa) avec Plotly
J'ai essayé de comparer la vitesse de traitement avec dplyr de R et pandas de Python
Le 15e temps réel hors ligne, j'ai essayé de résoudre le problème de l'écriture avec python
J'ai essayé de gratter le classement du calendrier de l'avent Qiita avec Python
J'ai essayé d'automatiser l'arrosage du pot avec Raspberry Pi
J'ai essayé de visualiser AutoEncoder avec TensorFlow
J'ai essayé de résoudre le problème de F02 comment écrire en temps réel hors ligne avec Python
Je veux sortir le début du mois prochain avec Python
J'ai essayé de créer une liste de nombres premiers avec python
J'ai essayé de corriger "J'ai essayé la simulation probabiliste du jeu de bingo avec Python"
J'ai essayé d'agrandir la taille du volume logique avec LVM
J'ai essayé de détecter facilement les points de repère du visage avec python et dlib
J'ai écrit un doctest dans "J'ai essayé de simuler la probabilité d'un jeu de bingo avec Python"
J'ai essayé de collecter automatiquement des images de Kanna Hashimoto avec Python! !!
J'ai essayé de visualiser la condition commune des téléspectateurs de la chaîne VTuber
PhytoMine-I a essayé d'obtenir les informations génétiques de la plante avec Python
J'ai essayé de vérifier l'identification du locuteur par l'API de reconnaissance du locuteur d'Azure Cognitive Services avec Python. # 1
J'ai essayé de vérifier l'identification du locuteur par l'API de reconnaissance du locuteur d'Azure Cognitive Services avec Python. # 2
J'ai essayé de résoudre la première question de l'examen d'entrée en mathématiques 2019 de l'Université de Tokyo avec python sympy
J'ai essayé de visualiser la tranche d'âge et la distribution des taux d'Atcoder
J'ai essayé d'extraire automatiquement les mouvements des joueurs Wiire avec un logiciel
(Python) J'ai essayé d'analyser 1 million de mains ~ J'ai essayé d'estimer le nombre d'AA ~
J'ai essayé avec les 100 meilleurs packages PyPI> J'ai essayé de représenter graphiquement les packages installés sur Python
J'ai essayé de vérifier et d'analyser l'accélération de Python par Cython
J'ai essayé d'analyser la négativité de Nono Morikubo. [Comparer avec Posipa]
J'ai essayé de visualiser le modèle avec la bibliothèque d'apprentissage automatique low-code "PyCaret"
J'ai essayé de visualiser tous les arbres de décision de la forêt aléatoire avec SVG
J'ai essayé de prédire le comportement du nouveau virus corona avec le modèle SEIR.
J'ai essayé de "lisser" l'image avec Python + OpenCV
J'ai essayé de "différencier" l'image avec Python + OpenCV
J'ai essayé de sauvegarder les données avec discorde
J'ai essayé de corriger la forme trapézoïdale de l'image
J'ai essayé de sortir LLVM IR avec Python
J'ai essayé de "binariser" l'image avec Python + OpenCV