最近、クローリング/スクレイピング/スパイダリングにはまっています。
Amazonのランキングを出力したいなと思いました。
やり方はいろいろあるのだけれども、、、
例えばAmazonのランキングのページのhtmlを解析して、必要な情報だけ抜き取るとかね。
このやり方の良いところは、ページに表示されているものならすべて扱えるところですかね。
他にもRSSを読み込んで出力するという方法があります。RSSはフォーマッティングされた綺麗な形式なので、情報の抜きだしは簡単。その代わり、配信されていない情報はどうにもこうにも出来ません。
ということで、扱いたい情報がRSSで事足りるならRSS,足りないならページを地道にスクレイピングするのが良いのかなと。
試しに
Amazon.co.jp: 本 > 文学・評論のベストセラー
のRSSを読み込んでみることにした。
サンプルコード
require 'rss' filename = 'http://www.amazon.co.jp/gp/rss/bestsellers/books/466284/ref=zg_bs_46 6284_rsslink' rss = RSS::Parser.parse(filename) rss.items.each{|item| puts item.title puts item.link puts }
実行結果
$ruby amazonranking.rb
#1: エゴの力 (幻冬舎新書)
http://www.amazon.co.jp/%E3%82%A8%E3%82%B4%E3%81%AE%E5%8A%9B-%E5%B9%BB%E5%86%AC%E8%88%8E%E6%96%B0%E6%9B%B8-%E7%9F%B3%E5%8E%9F-%E6%85%8E%E5%A4%AA%E9%83%8E/dp/4344983637/ref=pd_zg_rss_ts_b_466284_1#2: ソロモンの偽証: 第III部 法廷 下巻 (新潮文庫)
http://www.amazon.co.jp/%E3%82%BD%E3%83%AD%E3%83%A2%E3%83%B3%E3%81%AE%E5%81%BD%E8%A8%BC-%E7%AC%ACIII%E9%83%A8-%E6%B3%95%E5%BB%B7-%E4%B8%8B%E5%B7%BB-%E6%96%B0%E6%BD%AE%E6%96%87%E5%BA%AB/dp/4101369402/ref=pd_zg_rss_ts_b_466284_2#3: ソロモンの偽証: 第III部 法廷 上巻 (新潮文庫)
http://www.amazon.co.jp/%E3%82%BD%E3%83%AD%E3%83%A2%E3%83%B3%E3%81%AE%E5%81%BD%E8%A8%BC-%E7%AC%ACIII%E9%83%A8-%E6%B3%95%E5%BB%B7-%E4%B8%8A%E5%B7%BB-%E6%96%B0%E6%BD%AE%E6%96%87%E5%BA%AB/dp/4101369399/ref=pd_zg_rss_ts_b_466284_3#4: Nのために (双葉文庫)
http://www.amazon.co.jp/N%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AB-%E5%8F%8C%E8%91%89%E6%96%87%E5%BA%AB-%E6%B9%8A-%E3%81%8B%E3%81%AA%E3%81%88/dp/4575517046/ref=pd_zg_rss_ts_b_466284_4#6: 京大芸人式日本史
http://www.amazon.co.jp/%E4%BA%AC%E5%A4%A7%E8%8A%B8%E4%BA%BA%E5%BC%8F%E6%97%A5%E6%9C%AC%E5%8F%B2-%E8%8F%85-%E5%BA%83%E6%96%87/dp/4344026616/ref=pd_zg_rss_ts_b_466284_6#8: アフタヌーン 2014年12月号 [2014年10月25日発売] [雑誌]
http://www.amazon.co.jp/%E3%82%A2%E3%83%95%E3%82%BF%E3%83%8C%E3%83%BC%E3%83%B3-2014%E5%B9%B412%E6%9C%88%E5%8F%B7-2014%E5%B9%B410%E6%9C%8825%E6%97%A5%E7%99%BA%E5%A3%B2-%E9%9B%91%E8%AA%8C-%E3%82%A2%E3%83%95%E3%82%BF%E3%83%8C%E3%83%BC%E3%83%B3%E7%B7%A8%E9%9B%86%E9%83%A8-ebook/dp/B00OC2FCUU/ref=pd_zg_rss_ts_b_466284_8#9: レインツリーの国 (新潮文庫)
http://www.amazon.co.jp/%E3%83%AC%E3%82%A4%E3%83%B3%E3%83%84%E3%83%AA%E3%83%BC%E3%81%AE%E5%9B%BD-%E6%96%B0%E6%BD%AE%E6%96%87%E5%BA%AB-%E6%9C%89%E5%B7%9D-%E6%B5%A9/dp/4101276315/ref=pd_zg_rss_ts_b_466284_9#10: 【Amazon.co.jp限定】she & sea 海上の覇者と愚者 ショートストーリーペーパー付
http://www.amazon.co.jp/%E3%80%90Amazon-co-jp%E9%99%90%E5%AE%9A%E3%80%91she-sea-%E6%B5%B7%E4%B8%8A%E3%81%AE%E8%A6%87%E8%80%85%E3%81%A8%E6%84%9A%E8%80%85-%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AA%E3%83%BC%E3%83%9A%E3%83%BC%E3%83%91%E3%83%BC%E4%BB%98-%E7%B3%B8%E6%A3%AE/dp/4041022576/ref=pd_zg_rss_ts_b_466284_10
簡単ですね!
応用も出来そう。
こういうことに興味をお持ちならこちらの書籍もどうぞ
Spidering hacks―ウェブ情報ラクラク取得テクニック101選
- 作者: Kevin Hemenway,Tara Calishain,村上雅章
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 2004/05
- メディア: 単行本
- 購入: 52人 クリック: 904回
- この商品を含むブログ (103件) を見る
Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例
- 作者: るびきち,佐々木拓郎
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2014/08/25
- メディア: 大型本
- この商品を含むブログ (2件) を見る