我想使用Nokogiri来削减Groupon的交易。我想通过以下链接获取所有这些优惠: http://www.groupon.com/getaways?d=travel_countmein
最重要的是,我想访问每个链接并刮掉标题和价格。从概念上讲,有没有办法编写单个rake任务来执行此操作?
我知道需要有某种循环,但我不知道如何从主要的逃亡页面解析每笔交易的网址。
我已经为标题和价格编写了一个刮刀:
task :fetch_travel => :environment do
require 'nokogiri'
require 'open-uri'
url = "http://www.groupon.com/deals/ga-flamingo-conferences-resort-spa?c=all&p=0"
doc = Nokogiri::HTML(open(url))
title = doc.at_css("#content//h2/a").text
price = doc.at_css("#amount").text[/[0-9\.]+/]
link = doc.at_css("#content//h2/a")[:href]
desc = doc.at_css(".descriptor").text
Traveldeal.create(:title => title, :price => price, :url => link, :description => desc)
end
答案 0 :(得分:0)
想出这需要嵌套循环,其中内部循环是上面的代码,外部循环将解析每个交易,以便在内部循环中使用url。