当你想要爬一个难度比较大的网站数据时候,IP的循环切换是一件不容易的事。你会突然意识到,爬虫本身可能只是占据了整个项目的25%,处理IP循环切换这种事可能就要占据70%的精力。
为什么处理IP循环切换需要那么多精力?
测试代理网络,确保是匿名的情况下。因为你虽然用的是代理网络,但并不意味着你的主IP地址不会被识别查到。透明和低匿名程度会泄露你爬虫服务器的IP地址。
这种情况下,我试过几种可行的方法,这里写给大家:
假如我们手上有100个代理网络的IP,那么,
方法1:用100个代理一次拿100个URL,然后等结果。处理这些结果,然后再同样方法拿100个URL。每一次代理的延迟时间足够再来一次爬虫。
方法2: 先只使用一个代理,然后拿一些它的历史记录,然后在另一个不同的代理网络上循环切换。拿的历史记录可以是5-50之间任何一个数字,取决于你的目标网站,数字越大,风险就越大。
方法3:把你的代理分成几个组。举个例子,你的代理总量的20%(10个代理),然后用方法1的方式,然后按照组的形式去循环切换。
方法4:只用1个代理,当然前提是这个代理能用,没有被墙。然后就用到这个代理被封掉。我并不建议用这个方法,但是有时候还是很管用的。
如果你觉得这些方法用起来太麻烦,太花精力,那么强推Luminati,一家以色列公司的代理网络。350万个全世界各个国家各个城市的IP,自动切换。自定义设置,按照请求切换IP,或者按照时间切换。350万个IP无限切换,开源API。
VX:nikkkkkkie(6个k)
Q:352681016
7天试用:http://t.cn/Ru4Lzh3