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

2021.08.09
2024.03.24
プログラミング
feedparserPythonRSS

はじめに

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

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

1pip 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フィード - 運営メディア紹介

アイティメディアが提供しているRSSフィードの一覧ページです。

フィードの取得

parseメソッドでURLを渡すとパースされたフィードを取得できます。

1import feedparser
2
3feed = feedparser.parse('https://rss.itmedia.co.jp/rss/2.0/itmedia_all.xml')

取得したフィードのキー

取得したフィードは辞書型のようにキーを持っています。

1import feedparser
2
3feed = feedparser.parse('https://rss.itmedia.co.jp/rss/2.0/itmedia_all.xml')
4print(feed.keys())
1dict_keys(['bozo', 'entries', 'feed', 'headers', 'etag', 'updated', 'updated_parsed', 'href', 'status', 'encoding', 'version', 'namespaces'])

記事のタイトルとURLの取得

entriesキーの中には記事の情報が含まれています。その中から記事のタイトルとURLを取得します。

1import feedparser
2
3feed = feedparser.parse('https://rss.itmedia.co.jp/rss/2.0/itmedia_all.xml')
4for entry in feed.entries:
5    print('タイトル:', entry.title)
6    print('URL:', entry.link)
1タイトル: [ITmedia ビジネスオンライン] レアメタル戦争の背景 EVの行く手に待ち受ける試練(中編)
2URL: https://www.itmedia.co.jp/business/articles/2108/09/news007.html
3タイトル: [ITmedia ビジネスオンライン] 「手取り25万円できついと思うこと」ランキング 1位は?
4URL: https://www.itmedia.co.jp/business/articles/2108/09/news003.html
5タイトル: [ITmedia ビジネスオンライン] 「伝える」と「伝わる」を理解するための図解講義
6URL: https://www.itmedia.co.jp/business/articles/2108/09/news019.html
7                          :
8                          :

参考

Support

\ この記事が役に立ったと思ったら、サポートお願いします! /

buy me a coffee
Share

Profile

author

Masa

都内のIT企業で働くエンジニア
自分が学んだことをブログでわかりやすく発信していきながらスキルアップを目指していきます!

buy me a coffee