這是在我的rails應用程序的lib/tasks文件夾中,由於某種原因,每次嘗試運行任務時都會收到錯誤。使用rake任務刮掉網站
desc 'Fetch product prices'
task :fetch_prices => :environment do
require "nokogiri"
require "open-uri"
Product.each do |product|
url = "http://www.lowes.ca/search/#{CGI.escape(product.title)}.html"
doc = Nokogiri::HTML(open(url))
price = doc.at_css(".fntlb").text[/[0-9\.]+/]
product.update_attribute(:price, price)
puts "Product #{Product.id} has been updated with price #{price}"
end
end
以下是我的錯誤,當我嘗試運行此任務: 耙中止! 未定義方法each' for nil:NilClass /vagrant/depot/lib/tasks/product_prices.rake:7:in
在'
我把它改成Product.all.each現在出現此錯誤:耙中止! 404 Not Found /vagrant/depot/lib/tasks/product_prices.rake:9:in' /vagrant/depot/lib/tasks/product_prices.rake:7 :在<頂部(必填)>塊中'' –
twillw
賠率是網址無效。在那裏無法真正幫助你。 –