谷歌浏览器代理如何玩
在我们玩爬虫的时候,通常需要访问大量的站点,而对百度或者谷歌这类搜索引擎对爬虫通常都有着很强的限制
比如当你的爬虫大量抓取百度的时候,百度会给你提示输入验证码等措施避免你频繁的访问,
当然想要解决这种问题,有很多种方法,比如使用代理,对目标站点隐藏自己的信息,
或者写对应的验证代码,通过验证限制
当然我认为使用代理是比较方便,且直接的方法
接下来就说说,我遇到的情况
首先先说一下这个小工具的目标,通过批量输入要查询的站点域名,查询域名在不同搜索引擎中的收录情况
包含:百度,谷歌,搜狗,360搜索,Archive 等
在经过测后发现,通常谷歌浏览器在同时开启50个搜索页面后,会有明显的卡顿,可能和我机器有一定的关系
但是无关紧要,关键的问题是,当同时开启50+的抓取行为后,上述的搜索引擎会弹出验证,这无疑增加了
操作人员的工作量,所以这就是我们现在要处理的问题之一,增加代理访问,绕过验证
在哪里增加,如何增加?
- 首先增加代理要在哪里增加哪?
最开始我只发现了Archive在快速访问的时候会出现断开的问题,所以我想给这个站点增加一层代理,
也就是说针对这个站点有效的代理,市面上的各种代理,通常都是针对PC网卡端或浏览器进行监听并转发代理模式去操作
这明显和我的想要的不太一样,所以我准备镜像这个站点,快速的写了一些代码将它镜像做好,在镜像处理的同时增加一层代理
成功绕过限制后进行批量测试……百度首先发送了一个友好的验证码
我意识到可能需要在整体增加代理,在哪里增加比较合适那?无疑如果我在监听网卡可能会更麻烦,索性直接在Chrome浏览器增加算了
查看ChromeAPI 发现了有用的接口
1. --proxy-server 启动命令中增加一个代理地址,但是由于我的访问量很大所以使用一个或多个并不起作用
2. pac文件 通过增加pac文件动态修改代理IP 这就很有意思了
- 如何增加那?
由于Chrome直接增加pac文件很麻烦,所以使用SwitchyOmega插件- 安装SwitchyOmega插件,并打开管理面板
- 新建模式
- 选择PAC情景模式
- 创建模式,并选中
- 增加PAC脚本代码,据说是JS代码,并包含FindProxyForURL(url, host) 方法即可
- 测试一下
这时已经成功的设置了代理
你可以在脚本中写一些随机函数,让每一次请求都使用不同代理,也可以在PAC网址处增加动态获取接口
而我则使用了后者,因为这样使用起来更加方便,在工具中增加一个API用于提供PAC脚本,并在后台实时刷新可用的代理地址,
SwitchyOmega插件中设置15分钟刷新一次PAC脚本,这样在基本上完成了代理的动态设置
不足之处
SwitchyOmega插件 最低刷新频率是15分钟,这里在某些层面上限制了代理的更换速率,可以通过修改插件完成自己想要的效果
不过对于我来说 还算够用
有些问题只有你自己经历了才会记忆深刻,多动手,多实验,总会找到办法
希望能对你有所帮助