Twythonでつぶやいてみた [Twitter Bot]
scikit-imageのメモシリーズ途中ですが、息抜きで、PythonでTwitterのbotを作ってみました、というお話し。
QiitaのRSSがめちゃ簡単に取得できることを知り、「ラズパイ」タグのRSSをつぶやかせることにしました。
RSSの取得
feedparserを使います。
インストールは普通にpipでOK。
ついでにtwythonもインストール。
$ pip install feedparser twython
早速、やってみます。
このあたりのウェブページを参考にさせていただきます。
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
完全にこちらを参考にさせていただきました。
- ツイッターのアカウント作成
- ツイッターディベロッパーに登録(電話番号認証)
- Applicationを作成
- customer key, customer secret, access token, access token secretの4つを取得
- twythonでつぶやく
理由や使い方などを英語で延々と書かされるのがちょっと大変でした。
では、登録できたところで早速つぶやいてみます。
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秒間スリープいれてみました。
新しく作ったツイッターページはこちら。
なかなか良い感じ。
今後は実際にRaspberry pi3など駆使して、定期的につぶやくようにしてみたいです。