浅谈动态代理IP爬虫前期的准备工作!想要爬虫获得好的效果,仅仅写一个好的爬虫程序是不够的,因为你的程序很可能一启动就被网站的反爬虫策略屏蔽掉。
所以,在爬行之前,我们需要做好以下准备。
(一)反爬虫策略分析:
(1)如果单个ip在没有cookie的情况下被多次访问,该ip很快就会被屏蔽。
(2)从第一次访问开始返回cookie值,连续访问使用同一个cookie值,几分钟后被阻塞;用不同的cookie值访问,大约十分钟后,IP被屏蔽。
(3)低速(10s以上)单ip访问不会被阻塞。
(2)爬虫策略分析:
简单来说,有几种方法可以防止回爬:
用随机用户代理:最简单的,即使是新手也可以。
设置爬行间隔时间:简单,但是大大降低了效率。
可用cookie:找到规则是难还是容易,需要带一些经过认证或解密的值来计算。
代理的使用:简单粗暴有效,但是维护代理是个问题。
由于单个ip无论如何都会被屏蔽,我已经投入代理的怀抱,常见的有IP模拟器代理等。
爬虫策略大致如下:
三个随机:随机UA,随机代理和随机cookie
对于使用自由代理:
可以参考git上的一个开源项目:jhao104/proxy。用过几款类似的,感觉这款最好。它主要是用flask做一个api实时刷新可用ip,不仅可以抓取各大免费代理ip,还可以定期检查ip的可用性。但是,这个项目还有一个问题。比如我把捕获间隔设为10秒,任务的执行时间可能会长于10秒,会报错导致整个程序暂停。
对于使用付费代理:
如果想保证爬虫的质量,可以选择优质的付费代理IP。
以上准备是爬虫前的准备,然后是爬虫程序的准备。