42

今回はikezawaさんが講師になってHpricot(http://hpricot.com/)を使ったScraping講座になりました。お疲れさまでした。とても面白かったです♪
使った資料は、ここにあります。ikezawaさんのコードみながら写経した自分のコードを載せておきます。
それと、dRuby本はまた始めからになりました。
まだまだ再入門したい方間に合いますよ。

写経しなが少し変更したコード

正規表現ちゃんと勉強しないと。。。

require 'hpricot'
require 'open-uri'

def shoplist(doc)
  shop_list = []
  (doc.search("h3.spotList a")).each do |one_shop|
     name = one_shop.inner_text
     uri = one_shop[:href]
     shop_list << [name, uri]
  end
  return shop_list
end

items = %w[id Shop URI TEL]
p items
base_uri = "http:/www.tochinavi.net/spot"
p base_uri

html = Hpricot(open "http://www.tochinavi.net/spot/search_result/?page=1&sort=0&is_search=1&A4=&word=&c_01=1&c_02=&c_03=&area=A2_8%3AA3_26")

shoplist(html).each do |name, uri|
  record = {}
  record['Shop'] = name
  record['URI'] = "#{base_uri}#{uri.sub(/^\.\./,'')}"
  page = Hpricot(open record['URI'])
  next unless page

  p record['Shop']
  p record['URI']
end