plant-raspberrypi3のブログ

ラズベリーパイ3とPythonに挑戦して、植物を愛でたり画像を加工したりします。最近はscikit-imageの勉強してます。

Twythonでつぶやいてみた [Twitter Bot]

scikit-imageのメモシリーズ途中ですが、息抜きで、PythonTwitterbotを作ってみました、というお話し。

QiitaのRSSがめちゃ簡単に取得できることを知り、「ラズパイ」タグのRSSをつぶやかせることにしました。

qiita.com

RSSの取得

feedparserを使います。

インストールは普通にpipでOK。

ついでにtwythonもインストール。

$ pip install feedparser twython

早速、やってみます。

このあたりのウェブページを参考にさせていただきます。

qiita.com

import feedparser
import time

RSS_URL = "https://qiita.com/tags/%E3%83%A9%E3%82%BA%E3%83%91%E3%82%A4/feed" #%E3%83%A9%E3%82%BA%E3%83%91%E3%82%A4=ラズパイ

qiita_raspi_rss = feedparser.parse(RSS_URL)

for entry in qiita_raspi_rss.entries[:10]:
    title = entry.title
    link  = entry.link
    print(f'{title}: {link}\n')

#出力結果
ラズパイ to VNCviewer: https://qiita.com/third_it_1027/items/ce1cf6fff981c25316cc

Aoide DAC II 備忘録: https://qiita.com/zkusaka/items/90141267b39d2e5eeb18

初心者がRaspberry Pi 3 Model B+を買ってSSH、RDP接続するまでを雑にメモ: https://qiita.com/flecott/items/20e4f1ef0ff1bdbc867a

【Raspberry Pi 3B/3B+】ラズパイをオーバークロック(OC)しよう: https://qiita.com/BearcubThaw/items/4aa0a7d373b597dfea21

【Raspberry Pi 3B/3B+】よく使うLinuxコマンド: https://qiita.com/BearcubThaw/items/b6041e57fee4e530b408

【Raspberry Pi 3B/3B+】ラズパイケースを改造して小型ファンを設置しよう: https://qiita.com/BearcubThaw/items/81b70017e5f7d5662ec5

周辺機器不要でラズパイ のセットアップ: https://qiita.com/yukoh/items/94788a5da05f626cf6f5

ラズパイでKubernetesを動かして見たら、驚いた!: https://qiita.com/MahoTakara/items/2b39e06f077927bafa2c

Raspberry Pi3を5インチのディスプレイで使いたい: https://qiita.com/uichi/items/655cb431cba260315250

Raspberry Pi3を使ってネットワークカメラを構築してみる: https://qiita.com/uichi/items/6094eb9fa633192e71e0

できました!

TwythonでTwitter Bot

完全にこちらを参考にさせていただきました。

deviceplus.jp

  1. ツイッターのアカウント作成
  2. ツイッターディベロッパーに登録(電話番号認証)
  3. Applicationを作成
  4. customer key, customer secret, access token, access token secretの4つを取得
  5. twythonでつぶやく

ツイッターディベロッパーへの登録はコチラからどうぞ。

apps.twitter.com

理由や使い方などを英語で延々と書かされるのがちょっと大変でした。

では、登録できたところで早速つぶやいてみます。

from twython import Twython

twitter = Twython(
    consumer_key,
    consumer_secret,
    access_token,
    access_token_secret
)

message = "こんにちは。これはテストです。"
twitter.update_status(status=message)

RSSをつぶやかせるには、messageのところに、rssで取得した情報を代入します。

for entry in qiita_raspi_rss.entries:
    title = entry.title
    link  = entry.link
    message = f'Qiita ラズパイRSS 「{title}」: {link}'
    twitter.update_status(status=message)
    time.sleep(30)

ツイッターに負荷をかけないように、30秒間スリープいれてみました。

新しく作ったツイッターページはこちら。

twitter.com

なかなか良い感じ。

今後は実際にRaspberry pi3など駆使して、定期的につぶやくようにしてみたいです。