シェアする

Pythonで作るTwitter Bot(晩飯Bot)

シェアする

前回の記事の続きになります。

見てない方は是非こちらの記事もご覧ください!!

【GAS】Google Apps Scriptで作るTwitter Bot(晩飯 Bot)
いつも当ブログを見ていただいてる読者様からこんなリク...

今回はこちらのリクエストPythonを用いて作っていきます。

スポンサーリンク




前回(GAS)のおさらい

正直リプライに最大1分かかるのって、ゴミですよねww

第1話、オーカワ ゴミBotを作る から抜粋

はい、リプライに1分かかるのを解決する為に、Raspberry Piをサーバーにします。

サーバーの設定(Raspberry Piの設定)

今回もRaspberry Piを使っていきます。

家に1つ余っていたので、それを使いますー

OSはRaspbianを入れました。

初期設定

OS入れたらみんな大好き!最初に唱える呪文

を実行します。

SSHの設定(任意)

SSH serverを解放してあげました。今のRaspbianってセキュリティを考えてSSH serverを最初から開放してないんです。

後はRaspberry Piが起動したら、無線で勝手に家のネットワークに繋がる設定をして、IPアドレスをルーター側の設定で固定しました。

前回(GAS)と今回(Python)の違い

使っているTwitterのAPI(アプリケーションプログラミングインタフェース)が違います。

GASの場合

REST APIsを使っていました。

いちいちアクセスしないといけない仕組みです。

GASだとREST APIsを使うしかないと思います。


GAS側
Twitterさん、新しいリプライ来てる?

Twitter側
例(2件来てるよーん)

Pythonの場合

Streaming APIsを使います。

これは一度、アクセスしたら、通信エラーを起こさない限り、永遠にデータをもらえます。(例えば、鍵垢以外のツイートをリアルタイムで取得できます。)

下のツイートを見ていただくと、想像しやすいかもしれません。

今回は、ツイートの中から、自分に来たリプライだけを取得し続けます。

作成したプログラム

アプリの作成

Twitter Applicationから適当にアプリを作っておきます。作らないと、プログラムを動かせません。

  • Consumer Key (API Key)
  • Consumer Secret (API Secret)
  • Access Token
  • Access Token Secret

をプログラムに使います。

モジュールのインストール

今回はPython3を使うので、pip3でインストールします。

twitterを扱えるモジュールはいくつかありますが、今回はtweepyを使います。深い理由はありません。

Web スクレイピングをするためにBeautiful Soupを使います。

ぱぱぱーと1時間程で書いたプログラムなので、もしかしたら変な所があるかも......

今のところ動きます。

Raspberry Piの電源を入れたら、プログラムを起動するように設定をする

先ほどのプログラム(twitter.py)を /usr/local/bin/ の中に保存しました。

 $ which twitter.py
/usr/local/bin/twitter.py

次に /etc/rc.local に twitter.pyと記述して保存します。

これでRaspberry Piを再起動したら、プログラムが自動で起動しているはずです。

おかしい場合は、/var/log/boot.log にエラーが出ます。

これで間違えて電源のコードを抜いても大丈夫ね!!

結果

GASの時とやってる事は変わりません。変わらなすぎて、プログラムの勉強になるかも(笑)

ただ返信は爆速になりました。リプライした瞬間に返って来ます。

感想

なるべく、サーバーを使いたくなかったのですが、リアルタイムを希望ならしょうがないですね。

でもでも簡単に出来てよかったです。Pythonは最高です。

この晩飯BOTは鍵垢以外だったら返信出来ますので、試してみてください!!

余談

Twitter IDが @banmsesi_bot のローマ字がおかしいのはわざとです。メンバーにめちゃくちゃ突っ込まれた

本当は @banmesi_botがよかったけど、使われていたので、Twitterさんの候補のIDを使いました。

参考

いつもお世話になっております。

PythonによるWebスクレイピングの実践入門を書きたいと思い
TweepyでTwitterのStreaming APIを使って自動リプライbotを作ってみ...
The following two tabs change content below.

オーカワ

ロボット勉強中の大学4年生!!いつもはTwitterにいるよ。フォローちてね♪
詳しいプロフィールは こちらから
スポンサーリンク







シェアする

フォローする