gpt4 book ai didi

ruby - 在 ruby​​ 中更改 IP 地址

转载 作者:数据小太阳 更新时间:2023-10-29 06:57:07 24 4
gpt4 key购买 nike

现在我正在我的电脑上运行一个抓取程序。它的规模很大,不幸的是,正因为如此,我的 IP 地址已被禁止访问我需要抓取的网站。在 Ruby 中,有没有一种方法,甚至只是一种简单的方法,我可以切换我的 IP 地址,这样我就可以被允许回到这个站点进行抓取,或者我运气不好,我可能不得不求助于其他解决方案。这是一个 403 禁止错误,不管它有什么值(value),我都在使用 nokogiri,我的用户代理是 ruby​​,谢谢。

最佳答案

您可以通过代理连接,如果您有代理地址列表,那么您可以告诉 ruby​​ 每 x 分钟更换一次代理,这将导致网站认为您拥有的 IP 发生变化。这是通过代理抓取谷歌搜索结果的代码,要使用代理列表,只需稍微扩展代码即可。

require 'rubygems'
require 'mechanize'

agent = Mechanize.new
agent.set_proxy '78.186.178.153', 8080
page = agent.get('http://www.google.com/')

google_form = page.form('f')
google_form.q = 'new york city council'

page = agent.submit(google_form, google_form.buttons.first)

page.links.each do |link|
if link.href.to_s =~/url.q/
str=link.href.to_s
strList=str.split(%r{=|&})
url=strList[1]
puts url
end
end

关于ruby - 在 ruby​​ 中更改 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17489621/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com