我在Mac OS上使用Ruby 2.1.0p0。從CSV打開網址
我解析一個CSV文件並抓取所有的URL,然後使用Nokogiri和OpenURI來刮他們,這是我卡住的地方。
當我嘗試使用each
遍歷數組的URL運行,我得到這個錯誤:
initialize': No such file or directory @ rb_sysopen - URL (Errno::ENOENT)
當我手動創建一個數組,然後通過它運行我沒有得到任何錯誤。我試過to_s
,URI::encode
,以及我能想到的所有東西,並在Stack Overflow上找到。
我可以使用puts
在陣列上從CSV或從終端複製和粘貼URL,並在我的瀏覽器中打開沒有問題。我嘗試用Nokogiri打開它並沒有發生。
這裏是我的代碼:
require 'rubygems'
require 'nokogiri'
require 'open-uri'
require 'uri'
require 'csv'
events = Array.new
CSV.foreach('productfeed.csv') do |row|
events.push URI::encode(row[0]).to_s
end
events.each do |event|
page = Nokogiri::HTML(open("#{event}"))
#eventually, going to find info on the page, and scrape it, but not there yet.
#something to show I didn't get an error
puts "open = success"
end
請幫幫忙!我完全沒有想法。
BOOM!完美的作品。非常感謝。對此,我真的非常感激。請投票給這個傢伙!我沒有足夠的聲望。 :-( – 2015-01-20 18:53:37
@JacksonRiso你可能沒有足夠的代表upvote(但),但你應該能夠[接受答案](http://stackoverflow.com/help/someone-answers)(它會給你一個小代表也是)。 – matt 2015-01-20 19:09:08