Make.

RSSを取得する

Pocket

PythonでRSSフィードを解析する方法をまとめます。
RSSフィードの解析にはfeedparserを利用します。
feedparaserを使用することで、RSSをPythonで簡単に取得して、最新のニュースを確認することができます。


feedparserのインストール

feedparserのインストールには、pipを使用します。
以下のコマンドを実行するだけです。

$ sudo pip install feedparser

feedparserのサンプル

URLを指定して、RSSフィードを取得するには以下のようにします。

>>> import feedparser
>>> feed = feedparser.parse("http://www.japantoday.com/feed/")

RSSフィードを取得して、内容を一件づつ確認するには以下のようにします。

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import feedparser
from datetime import datetime
from time import mktime

#RSSのURL
RSS_URL  = "http://www.japantoday.com/feed/"

#RSSの取得
feed = feedparser.parse(RSS_URL)

#RSSのタイトル
print feed.feed.title

for entry in range(len(feed.entries)):
    #RSSの内容を一件づつ処理する
    title = feed.entries[entry].title
    link = feed.entries[entry].link

    #更新日を文字列として取得
    published_string = feed.entries[entry].published

    #更新日をdatetimeとして取得
    tmp = feed.entries[entry].published_parsed
    published_datetime = datetime.fromtimestamp(mktime(tmp))

    #表示
    print title
    print link
    print published_string
    print published_datetime

feed.entries[entry].publishedで内容が更新された日時は取得できますが、文字列での取得となるため、feed.entries[entry].published_parsedで9-tupleに変換後、さらにdatetimeに変換します。

Pocket