2015年2月6日金曜日

Amazon EC2 で Twitter bot を 3分で作った話。

はい、タイトルまんまです。
実装するまでの流れは以下のとおり。

(1) Amazon EC2 で必要な Python モジュールをインストールする
(2) Twitter API を Python で叩いてみる
(3) crontab の文法を抑えてみる


(1) Amazon EC2 で必要な Python モジュールをインストールする

Amazon EC2 は AWSが提供しているクラウド上でLinux とか実行できる環境のこと。

これを使う理由は大きく 3点
  - 1年間までなら利用無料
  - Web上に情報が潤沢
  - bot動作させるのに定期的に処理を走らせる必要があって、自宅サーバーだと電気代が勿体無い


Twitter API を利用するにあたって、OAuth認証なるものをやる必要があります。
これは自分でて実装したら3分どころじゃ済まなくなるので、既存のモジュールを使います。
Python は pip が無いとインストールがめんどいのでさくっと pip を入れましょう。
ツールのインストールはここが超絶詳しいです。
ipython とか入れておくとマジで神なのでよろしく。

コマンドをザーッと実行すればおkです。
# それすらマンドクセーのでシェルスクリプト用意して置いて欲しいなー, wget して ./hoge.sh で済ませたいなーなんておもいつつ。
Amazon EC2上でPython2.7及び各種ライブラリ環境を整える

pip が入ったら、男は黙って以下を実行。
OAuth認証のライブラリになります。

$ sudo pip install requests_oauthlib



(2) Twitter API を Python で叩いてみる

以下リンクを参照。
Twitter側でアプリの作成、認証キーの取得が必要です。
認証キー受けたらスクリプトにコピペしてください。
Python で Twitter API にアクセス

$ python ~/hoge.py みたいな感じで試しに実行してみて、 Hello world が出てたらおk。


(3) crontab の文法を抑えてみる

Linux氏の有能なcronさんを使います。
cronさんはここが詳しいです。
crontabの書き方

* * * * * [実行コマンド]
設定項目は左から「分」「時」「日」「月」「曜日」となっているよーです。
たとえば、1月2日3時4分金曜日につぶやきたいのであれば、

$ crontab -e
$ 4 3 2 1 5 python ~/hoge.py

はい、これで bot 作れます。
あとはつぶやく文字列変えたりすればそれなりのbot氏が無料でできちゃいます。


今日はこれにて。

0 件のコメント:

コメントを投稿