rubyのnokogriを用いて、Amazonサイトにある本カテゴリーの部分から書籍情報だけをクローリングしたいと考えております。
形としては、
id title author image 0 コンビニ人間 村田 沙耶香 51+px9T8vNL._AC_US200_.jpg 1 陸王 池井戸 潤 515Olc9vuUL._AC_US200_.jpg 2 ... ...
というようにcsvファイルにしたいと考えています。
require 'open-uri' require 'nokogiri' require 'csv' url = 'https://www.amazon.co.jp/s/ref=lp_466284_nr_n_0?fst=as%3Aoff&rh=n%3A465392%2Cn%3A%21465610%2Cn%3A466284%2Cn%3A548206&bbn=466284&ie=UTF8&qid=1470908910&rnid=466284' charset = nil html = open(url) do |f| charset = f.charset f.read end doc = Nokogiri::HTML.parse(html, nil, charset) csv = "" table = doc.xpath('//table[@class="a-size-base a-color-null s-inline s-access-title a-text-normal"]') table.search('.//a[position()>1]').each do |a| arr = Array.new() a.search('.//h2').each do |h2| arr.push(h2.text) end csv << arr.to_csv end File.open('export2.csv', 'w') do |io| io.write csv end
プログラムはここまで書いてみたんですが、何かしらのエラーが出てしまい
xpathの取得の部分と、csvの部分の書き方があまり分かりません。
また、本カテゴリーの部分のクローリングを実現したいと考えています。
解決策をご教授いただけますと幸いです。
どうぞ宜しくお願いいたします
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。