【发布时间】:2013-05-26 17:22:26
【问题描述】:
我正在尝试抓取一个网站,但我需要使用代理才能不被禁止。
proxies.each do |proxy|
proxy.delete '""'
break if @doc = Nokogiri::HTML(open(pre, :proxy => proxy )) rescue nil
end
我在proxies 数组中有一个工作代理列表。 pre 是 URL。我没有从这段代码中得到回应,只是零。如果我用下面的代码替换它,它可以工作,但它有 IP 禁令的风险:
doc = Nokogiri::HTML(open(pre))
有什么想法吗?
【问题讨论】:
-
你能分享数组
proxies吗?它看起来怎么样? -
我确定它的格式是 'ip:port'
-
Nokogiri 不关心代理或知道 HTTP,所以这个问题甚至不应该提及它。问题在于您对 OpenURI 的使用。减少您的示例代码,直到 Nokogiri 没有问题并且问题仍然存在。重写您的问题以准确反映当时的代码和问题。照原样,你的问题只是表明你不知道你的代码是如何工作的。