2010-08-11

pythonさんでAmazonのRSSからASINを取り出す

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
Amazonさんでは、カテゴリごとに売れ筋を紹介するRSSを提供しています。
どんな感じのURLになっているかは、
http://www.ajaxtower.jp/googleajaxfeed/sample/index3.html
を参照してください。

でも、RSSでは商品のタイトルとそのページへのURLは取れるものですが、他の情報は記事みたいな感じでごっちゃでしか取得できません。
個別にいろいろな情報を取得するためには、APIを利用すればよいのですがそのためにはASIN番号があると便利です。
ASIN番号はURLに埋め込まれていますので、これをpythonさんで取得します。

pythonのRSSのパースには、feedparserが便利な感じです。
RSSをパースしてASINを取り出すのは、以下のような感じです。
import re
import feedparser

#取得したカテゴリのRSSを指定
url = "http://www.amazon.co.jp/rss/bestsellers/books/492352/ref=pd_ts_rss_link"
result = feedparser.parse(url)
for e in result.entries :
  pattern = "^.+\/dp\/(.+)\/ref=.+?$"
  p = re.compile(pattern)
  m = p.search(e.link)
  asin = m.group(1)
  print asin

ちなみにカテゴリのRSSに入っている番号はAPIでBrowseNodeで取り出せる番号です。
コメントを投稿