我試圖抓取一個網站,但我需要使用代理才能不被禁止。如何使用OpenURI代理?
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無法解決問題,並且問題仍然存在。重寫您的問題,以準確反映當時的代碼和問題。因爲你的問題只是表明你不知道你的代碼是如何工作的。 –