logo header
logo header
logo header
logo header
  • 2016.07.21
  • 技術ブログ

Raspberry Pi2 + Twython でニュース bot を作ろう(step2:Twython インストールと、サンプルプログラムの実行)

raspberry_twitter_ 00

短期集中連載! 電子工作初心者向けの Raspberry Pi 短期集中ブログ、第2弾です。

今回作るもの

Twython という Python 用の Twitter ライブラリを使って、 RSS フィードから取得したニュース記事を、ツイッターに自動でつぶやく bot を作ります。

目次

今回のテーマは、以下の4回に分けてブログをお届けします。

step1:Twitter API を使うための準備

step2:Twython インストールと、サンプルプログラムの実行 ← 今ここ

step3:Python で RSS データを取得 [仮]

step4:Raspberry Pi から Twitter へ自動投稿させる [仮]

Twython インストール

最初に、Python から Twitter を操作するためのライブラリ「Twython」をインストールしましょう。今回は Python のパッケージ管理ツール pip を使います。Raspberry Pi に SSH接続でログインして、以下のコマンドを実行します。

サンプル実行

Twython の GitHub から、サンプルをダウンロードして動かしてみましょう。

update_status.py を Raspberry Pi の任意の場所にダウンロードしてください。

スクリプトファイルの編集

ダウンロードした時点では update_status.py の中身は以下のようになっています。「See how easy this was?」というツイートを投稿するスクリプトファイルです。

エンコーディング、アクセストークンの部分のみ修正します。

エンコーディングの指定は、先頭の行に記載する必要がありますので、注意してください。

スクリプトファイルの実行

update_status.py ファイルの編集が終わったら、 python コマンドで実行してみましょう。

特にエラーログが出なかったため、Twitterの画面を確認してみると... 無事に、ツイート成功しました! raspberry_twitter_02_01

Twitter API の制限事項に注意

喜びのあまり、同じスクリプトファイルを連続実行したところ、以下のエラーが出ました。

同じアカウントから、重複したツイートを連続投稿した事に対するエラーのようです。これは Twitter を普通に使用している場合でも同様の仕様となっています(ただし重複した内容でも、一定時間を置けば投稿可能)。 試しにツイートの文章を変えてみたところ、問題なく投稿できました。 raspberry_twitter_02_02 今回のように Twitter API の仕様/動作について調べたい場合、まずは公式ドキュメントを確認しましょう。 https://dev.twitter.com/overview/api これで Raspberry Pi から Twitter API を経由して、ツイートを投稿できるようになりました。次回は、ツイートの元ネタとなる RSS データを取得するところから始めます!

参考URL

ビット世界冒険記 - Twythonで遊ぼう その1

ともに世界をアップグレードできる、そんな日を夢見て。
Upgrade the World!