現在mechanizeを使用してスクレイピングを行なっております。
下記はindexからshowへアクセスし、対象の文字をスクレイピングしています。
require 'rubygems' require 'mechanize' a = Mechanize.new { |agent| agent.user_agent_alias = "#"} page = a.get("#") urls = a.page.css("...").css("a").map { |x| +x["href"]} #sleep 5 urls.each { |x| p x begin a.get(x); p a.page.css("#").css("a").text(); #タイトル p a.page.css("#")[1].text(); #住所 p a.page.css("#").text(); #自社URL p a.page.css("#")[2].text(); #人数 sleep 5; rescue => e p e end p "" }
ここから全て取得完了したらpagenateの『次のページ』へアクセスし、同様に次のページでも取得出来るようにしていきたいです。
その取得は再度eachを回すことはわかるのですが、どこにどのようにeachを入れれば動くのでしょうか?
どなたか教えてもらえると幸いです。
よろしくお願い致します。
require 'rubygems'
require 'mechanize'
a = Mechanize.new { |agent| agent.user_agent_alias = "#"}
page = a.get("#")
urls = a.page.css("...").css("a").map {
|x| +x["href"]}
urls = []
loop do
urls.concat
break unless page
page = page.link_with(text: '次のページ').click
end
回答1件
あなたの回答
tips
プレビュー