リスクにかけろ

株と金融とプログラミング

pythonでRSS取得

お勉強がてら、pythonRSSを取得してみた。
元のサンプルコードはここからコピペmake.bcde.jp
コードは以下のとおり。

#!/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

でも、これはpython2系で書かれていて、僕のpython3.4環境では動かないので、こうする。

#!/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)

動いた。
具体的には()で囲っただけ。
プログラムが動くってだけで嬉しいね。