集搜客网络爬虫使用proxy实现自动换IP防封锁

2019-2-15 10:46| 发布者: Fuller| 查看: 13430| 评论: 2

摘要: 如果网络爬虫访问某个网站太频繁,很可能被目标网站封锁,虽然网站封锁有很多种,需要不同的应对方案,但是,最常用的缓解封锁的方案是换IP,关于其他封锁应对方案大家可以跟帖讨论。 ... ... ... ... ... ...

如果网络爬虫访问某个网站太频繁,很可能被目标网站封锁,虽然网站封锁有很多种,需要不同的应对方案,但是,最常用的缓解封锁的方案是换IP,关于其他封锁应对方案大家可以跟帖讨论。

换IP也有两个方案:

  1. 利用VPN客户端软件自动换IP:这个方案是在操作系统级的,所以不用对网络爬虫软件做设置,IP换了,爬虫软件自然会用新IP
  2. 利用proxy服务定时获得新的proxy服务网址:这个方案是在爬虫控制下的,所以,可以选择合适的时机连接某个proxy,通过proxy访问目标网站,目标网站就把访问的源头当成了这个proxy,通过定时换proxy,目标网站会认为是不同的源头来的,降低被封锁的风险。由于这个方案是在爬虫控制下的,所以能避免时机不对的问题,比如,正在下载文件的时候换IP就会打断下载过程,而在爬虫控制下,会选择合适的时机。

本文讲解方案2,由于各个proxy服务的api各不相同,每接入一种proxy服务,都要修改网络爬虫软件,本文只讲解接入芝麻http的方法,如果您需要接入其他proxy服务,需要与集搜客技术支持联系。

1.  获得提取IP的网址

在芝麻http网站上,顶部菜单有“获取API”,进入到获取API页面,假定购买了按次提取的服务,如下图进行设置,以获得提取IP的网址。

注意提取数量:选择1个,因为爬虫每次只用一个。其他选择看上图,通过这个API接口,会返回提取到的IP和端口号,集搜客网络爬虫需要解析这个返回结果,只支持JSON格式的返回结果,所以,要像上图那样设置。

点击“生成API链接”,就能得到一个网址,这个网址是要配置到集搜客网络爬虫中的,爬虫会每隔一定时间通过这个网址提取一个新IP地址。

2.  实验提取IP

点击“生成API链接”后,能看到这个页面内容

点击复制链接,可以把这个网址拷贝下来,到网络爬虫软件那里用上这个网址做proxy配置(下面的章节讲解)。

点击“打开链接”,我们查看一下API返回的结果,如下图:

也可能没有expire_time,如下图,那么在下面就不要填写“有效期字段名”

3.  配置爬虫软件

经过上面的步骤,获得了4项内容,需要配置到爬虫软件中:

  • 提取IP的网址
  • 返回结果中的ip字段的名字
  • 返回结果中的端口号字段的名字
  • 返回结果中的超时时间字段的名字:就是需要重新换IP的时间

如上图,选择DS打数机菜单 高级->设置代理,可以看到配置proxy服务器的窗口,点击添加按钮,输入上述4项内容。

点击“取IP”按钮,弹出窗口中如果看到返回的json格式的结果中含有ip地址和端口号等,表示已经能正确提取IP了。

4.  启用提取IP

缺省是不启用的,而且也可以随时关闭,毕竟每次提取IP是需要花钱的。启用的方法如下图,勾选“在用”,就能把这条proxy服务器设置使用起来。在同一台计算机上,只能启用一个,否则就冲突了。

如果启用了,就可以在集搜客浏览器上测试一下效果。在集搜客浏览器上访问百度,并且搜索IP地址,看看百度显示的IP地址是什么,如下图:

上图能看出来,得到的地址显然不是自己所在地的地址,看来配置的生效了。

5.  诊断

如果IP提取成功,就会在集搜客浏览器中进行配置,这个配置是全局的,所有DS打数机窗口和浏览器窗口都会使用这个IP,这个配置可以在浏览器中通过输入网址about:config看到,如下图

输入搜索条件:proxy,看到ftp, http, socks, ssl等都使用了提取到的IP和端口号。

如果能看到这些设置,依然不能访问互联网,比如,连百度都访问不了,那么你所在的网络可能禁止了proxy通信协议。那么只有采用本文开头说的方案1了。


鲜花

握手

雷人

路过

鸡蛋
发表评论

最新评论

评论 Fuller 2021-4-13 09:45
winsonli: 请问,新版的集搜客,proxy在哪设置?
在10.7.0版本上发布,现在还在测试阶段
评论 winsonli 2021-4-12 19:54
请问,新版的集搜客,proxy在哪设置?

查看全部评论(2)

GMT+8, 2024-12-22 13:07