【发布时间】:2015-03-19 03:02:12
【问题描述】:
我在 Mac OS 上使用 Ruby 2.1.0p0。
我正在解析一个 CSV 文件并抓取所有 URL,然后使用 Nokogiri 和 OpenURI 来抓取它们,这是我遇到的问题。
当我尝试使用 each 循环遍历 URLs 数组时,我收到此错误:
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
请帮忙!我完全没有想法。
【问题讨论】: