Google Readerはフォルダ単位でフィードを公開することができるのですが、Atomのフィード出力もあります。
そこ経由で各種RSSのデータを落としてバックアップしてみると便利だなと。
Pythonでやってみた。
feed_backup.py
#!/usr/bin/env python # coding: utf-8 import sys import feedparser def main(url): print '<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>' print '<title>%s</title></head><body>' % url next_url = url while next_url: feed = feedparser.parse(next_url) for entry in feed.entries: print '<h3>%s</h3>' % entry.title.encode('utf-8') print entry.summary_detail.value.encode('utf-8') print '<hr class="separartor" />' continuation = feed.feed.get('gr_continuation') if continuation: # 次のページのURL next_url = '%s?c=%s' % (url, continuation) else: next_url = False print '</body></html>' if __name__ == '__main__': from optparse import OptionParser parser = OptionParser() options, args = parser.parse_args() if len(args) == 0: print 'Require one argument.' sys.exit() main(args[0])
feedparserを使ってます。
feed/gr:continuationに次のページ用のパラメータがあるので、これをGETパラメータに指定してデータが存在する最後までダウンロードします。
ついでにHTML出力してます。データベースに格納するとかもいいかもしれない。
実行してみる
こんな感じで実行します。
$ python feed_backup.py http://www.google.com/reader/public/atom/user%2F05081301049486409709%2Flabel%2Fbackup > out.html
出力したHTMLは次のような感じ。
はてなダイアリーはエクスポートできるからこれを使う必要はないと思うけど、twitterなんかのフィードをGoogleReaderにとりあえず登録しておいて、後で取り出したりしてもいいんじゃないかな。