PythonでTwitterのトレンドワードを取得してElasticsearchに突っ込んで、Kibanaで見るサンプルを写経した

DockerでElasticsearchとKibanaの環境を作ることができたので、何かできないかなーと思ってた。
この間、Elastic社の人がイベントのブースで「Twitterのトレンドワード拾ってElasticsearchに突っ込んでKibanaで可視化してまーす」みたいなツイートをしてるのを思い出して探してみたら、1年前の記事なんだけどこんな記事があったのでやってみた。

ElasticsearchとKibanaを使ってTwitterのトレンドワードを可視化してみた - Qiita

出来上がったものはここにあげてる。

今回はDockerでnshou/elasticsearch-kibana - Docker Hubを立ち上げた。
Pythonはvenvで環境作って、Dockerで立ち上げたElasticsearchに送信するって形。

ホントはPythonの環境もDockerで作ったほうが良いんだろうなーと思いつつ、とりあえずお試しだったのと他でやることあったから今回はよし。

小さな学びが多かった

今回Dockerで立ち上げるあたりは得に変わらなかったけど、Python側で色々と学びがあった。

たとえば、書きながらflake8を走らせて適宜修正って感じで進めてたんだけど、その中でお作法を知ったり命名の仕方なんかも見れてよかった。
引数での=前後にスペースつけちゃ駄目なのは慣れない…。

コードの中でも全然触ったことないモジュールやメソッドがいっぱい出てきてその都度調べて分かった(気になってる)んだけど、そういうことも出来るんだってものが分かったのはよかった。多分使っていく中で覚えるでしょう。

余談だけど、最近VSCodeを使い始めていて、VSCodeでの環境設定みたいなものがちょっとわかった。

Kibanaでの可視化

Kibanaで取得したTwitterの可視化をした画面

ちなみに、Kibanaではこんな感じで見れた。

触り方がよく分かってないので、デフォルトのまま。
触り方は時間作って調べておこう。

やってみて

Twitterからの取得とかElasticsearchへの投げる部分とかってどうなってんだろうと思ったけど、モジュールあるしすごいあっさりしてるしで驚いた。
コードは理解しきれてないのでもう少し読んで理解したい。

ところで、プロジェクトのファイルの作り方、こうじゃない気がする。