はじめに
PythonでRSSフィードの解析をする方法について紹介します。
今回利用するライブラリはfeedparser
です。利用する前にインストールしておきます。
pip install feedparser
RSSとは
RSSは、ニュースなどのサイトの更新情報を配信するフォーマットです。
バージョンごとにRich Site SummaryやRDF Site Summary、Really Simple Syndicationと元の名称が変わっていますが、RSSという略称はそのままとなっています。
似たフォーマットとして、Atomというのも開発されています。
FeedlyのようなRSSリーダーはこのRSSを取得しにいくことで、サイトの更新を取得しています。
feedparserの使い方
PythonでRSSのようなフィードを解析するにはfeedparser
が便利です。RSS/Atomのフィード解析ができます。
今回はITmediaのRSSを例にフィードの解析をしていきます。

アイティメディアのRSSフィード | 運営メディア紹介 | アイティメディア株式会社
アイティメディアが提供しているRSSフィードの一覧ページです。
フィードの取得
parse
メソッドでURLを渡すとパースされたフィードを取得できます。
import feedparser
feed = feedparser.parse('https://rss.itmedia.co.jp/rss/2.0/itmedia_all.xml')
取得したフィードのキー
取得したフィードは辞書型のようにキーを持っています。
import feedparser
feed = feedparser.parse('https://rss.itmedia.co.jp/rss/2.0/itmedia_all.xml')
print(feed.keys())
dict_keys(['bozo', 'entries', 'feed', 'headers', 'etag', 'updated', 'updated_parsed', 'href', 'status', 'encoding', 'version', 'namespaces'])
記事のタイトルとURLの取得
entries
キーの中には記事の情報が含まれています。その中から記事のタイトルとURLを取得します。
import feedparser
feed = feedparser.parse('https://rss.itmedia.co.jp/rss/2.0/itmedia_all.xml')
for entry in feed.entries:
print('タイトル:', entry.title)
print('URL:', entry.link)
タイトル: [ITmedia ビジネスオンライン] レアメタル戦争の背景 EVの行く手に待ち受ける試練(中編)
URL: https://www.itmedia.co.jp/business/articles/2108/09/news007.html
タイトル: [ITmedia ビジネスオンライン] 「手取り25万円できついと思うこと」ランキング 1位は?
URL: https://www.itmedia.co.jp/business/articles/2108/09/news003.html
タイトル: [ITmedia ビジネスオンライン] 「伝える」と「伝わる」を理解するための図解講義
URL: https://www.itmedia.co.jp/business/articles/2108/09/news019.html
:
: