栗’s diary

Python勉強中。トレードに役立つようなTwitter bot開発中。暗号通貨の自動売買もやってみたい。

ツイッターbot作成方法まとめ(バージョン1)

GoogleSpreadSheetをデータベースとして使えるようになった今、当初目指していたツイートbotバージョン1が完成した。すなわち、定期的に情報をツイートする、サイト情報が更新されたらツイートするという二つの機能を実装できるようになった。
今回はバージョン1完成を記念し、これまでの日記風ブログをまとめる形で、ツイートbot作成方法の流れをおさらいしてみようと思う。

1.Pythonを使える環境を整える

私がPythonを導入して1年近く経っていたので、当ブログではその詳細には触れなかったが、「anaconda」をインストールしPython環境を 整え、「jupyter」で編集している。足りないmoduleがあれば「pip install」もしくは「conda install」と唱えれば大体うまくいく(はず)。使用環境を整えたい人がいれば、その辺のキーワードでググってみるといいのではないだろうか。参考までに最近見かけたPython導入記事を置いておく。改めて見ると長いな...。

データサイエンティストを目指す人のpython環境構築 2016 - Qiita

2.Twitter APIの取得

まずは、手動クリックで呟いてみる事から。

ツイッターbot作成の道(その1) - 栗’s diary

3.Google App Engine(GAE)を導入する

(定期的に)自動でツイートするにはサーバーを利用する必要がある。そこで私が利用したのが、グーグルのGoogle App Engine。下記記事にその時の体験を書いているが、いま読み返すと見にくいなぁ...まあ日記ですから。ローカルで上手くいくものがサーバー上だとエラーになる現象には本当手を焼いた。

ツイッターbot作成の道(その1) - 栗’s diary

ツイッターbot作成の道(その2) - 栗’s diary

Google App Engineによるアプリ(ツイッターbot)制作まとめ - 栗’s diary

私の場合、無料でも使える有償アカウントが結局必要になった。

ツイッターbot作成の道(その7):GAE有償アカウント、そして完成へ - 栗’s diary

4.ログを残す方法をマスターする

サイトが更新されたら呟く。それって結局頻繁にそのサイトを訪れて前回から変更があれば呟くという定期botの応用形なんですよね。その際に前回情報を残しておく必要があるわけで。GAEの中のファイルは外から更新できない仕様のようなのでどこか外部に。Googleはサンプルとしてデータストアの使用を挙げていますし、今後どこかでそれは使う予定ですが、とりあえずGoogleSpreadSheetを使ってみましたよと。

ツイッターbot作成の道(その6): GoogleSpreadSheet - 栗’s diary

 

あっさり書くとこんな感じでしょうかね。

今後はWebスクレイピングの技術を高め、pdfの解析、zipファイルの中のエクセルファイルの解析(日銀め...)など出来るようになりたいと思います。

また監視サイトを増やしていった場合に起こるであろう遅延との闘いにも備えないといけません。

慣れて来たらGoogleSpreadSheetからデータストアへの移行もするでしょう。たぶんそっちの方が処理が早いはずだから。

その先は、テキストマイニングとか機械学習とかディープラーニングとかよくわかってませんが、読み込んだデータから市場に与える影響度なんか出せたら格好いいなと思ってます。

短い間、ご愛読ありがとうございました。栗先生の次回作にご期待ください。