2

我正在尝试抓取一个网站,但我需要使用代理才能不被禁止。

proxies.each do |proxy|
  proxy.delete '""'
  break if @doc = Nokogiri::HTML(open(pre, :proxy => proxy )) rescue nil
end

我在proxies数组中有一个工作代理列表。pre是网址。我没有从这段代码中得到回应,只是零。如果我用下面的代码替换它,它可以工作,但它有 IP 禁令的风险:

doc = Nokogiri::HTML(open(pre))

有什么想法吗?

4

1 回答 1

1

问题出在代理的定义中。不幸的是,由于您没有向我们展示您的代码的完整示例,因此我们无法为您提供帮助。

记录了正确的定义:http ://www.ruby-doc.org/stdlib-2.0/libdoc/open-uri/rdoc/OpenURI/OpenRead.html

于 2013-05-26T18:46:32.837 回答