【Python】feedparserでRSSフィード解析

はじめに

PythonでRSSフィードの解析をする方法について紹介します。

今回利用するライブラリはfeedparserです。利用する前にインストールしておきます。

pip install feedparser

RSSとは

RSSは、ニュースなどのサイトの更新情報を配信するフォーマットです。

バージョンごとにRich Site SummaryRDF Site SummaryReally 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
                          :
                          :

参考

タイトルとURLをコピーしました