【Python】feedparserでRSSフィード解析
2021.08.09
2024.03.24
プログラミング
feedparserPythonRSS
はじめに
PythonでRSSフィードの解析をする方法について紹介します。
今回利用するライブラリはfeedparser
です。利用する前にインストールしておきます。
1pip 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を渡すとパースされたフィードを取得できます。
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 :
参考
- Documentation — feedparser 6.0.2 documentation
- kurtmckee/feedparser: Parse feeds in Python
- RSS - Wikipedia
- アイティメディアのRSSフィード | 運営メディア紹介 | アイティメディア株式会社
Share
関連記事
【Java】コマンドラインからSpring Bootを始める
2023.05.01
Goの変数宣言
2023.06.28
【Pandas】DataFrameで全て0のカラムを取得する
2023.08.03
【Python】リストと辞書をソートする
2021.09.02