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

Raspberry Pi2 + Twython でニュース bot を作ろう(step3:Python で RSS データを取得する)

raspberry_twitter_ 00

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

今回作るもの

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

目次

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

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

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

step3:Python で RSS データを取得 ← 今ここ

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

はじめに:RSSとは

raspberry_twitter_ 03_01

RSSは、ニュースやブログなど各種のウェブサイトの更新情報を簡単にまとめ、配信するためのいくつかの文書フォーマットの総称である。

RSS は「RDF site summary(RSS 1.0)」「really simple syndication(RSS 2.0)」の略称で、ブログやニュース配信サイトなどで、更新情報を配信するための規格のひとつです。

RSS を活用すれば、サイトの更新情報を自動的に取得することができるので、お気に入りのサイトをひとつひとつチェックしに行く必要がなくなります。 今回は Yahoo!ニュースの RSS フィード を取得して、ツイートしてみます。

 

feedparser を利用して、RSS フィードを取得する

*以降の記事は RSS 2.0 を対象とします。

以下は、ブログ執筆時点の Yahoo!ニューストピック(IT)の RSS フィードです。RSS フィードは XML 形式のため、人が読みやすい形にパースしてあげる必要があります。

今回は Python ライブラリ feedparser を利用して、RSS フィードのパースを行います。

feedparser インストール

pip コマンドを使ってインストールします。

RSS フィードの取得

feedparser.parse メソッドの引数に RSS フィードの URL を指定すると、フィードの内容を格納したオブジェクトが取得できます。

実行結果はご覧のとおり。

feedparser.parse で取得した結果、どのような構造で格納されているかは、公式ドキュメントを参照してください。

最新の1件を twitter に投稿する

次に、最新の RSS フィードを twitter に投稿してみましょう。前回作成した update_status.py を、以下のように修正します。

twitter を確認してみると...無事に RSS フィードから取得した情報が投稿されていました!

raspberry_twitter_ 03_02

 

次回は、いよいよ最終回。Raspberry Pi で RSS を定期的にチェックして、更新情報があればツイートする仕組みを作ります。

参考URL

PythonとfeedparserでRSSフィードをパースする

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