动态代理IP爬虫需要的准备工作

如果你想让爬虫取得好的效果,仅仅写一个好的爬虫程序是不够的,因为你的程序很可能一启动就被网站的反爬虫策略屏蔽了。所以在爬行之前,我们需要做好以下准备。

防爬策略分析:
(1) 如果一个IP被多次访问而不使用Cookie,该IP将很快被阻止。
(2) 第一次访问返回cookie值,连续访问使用相同的cookie值,几分钟后被阻止。用不同的cookie值访问,大约十分钟后,IP被阻止。
(3低速(10s以上)单ip访问不会被封。

有几种方法可以防止反爬:
使用随机用户代理:最简单,即使是新手也能做到。
设置爬网间隔:简单,但大大降低了效率。

Available cookies:找出规则是难是易,需要带一些经过身份验证或解密的值来计算。
代理的使用:简单、粗暴、有效,但是维护代理是一个问题。
因为一个IP无论如何都会被封锁,所以我已经接受了代理IP,常见的有IP模拟器代理等。

爬虫的策略大致如下:
三个随机:随机Under Armour,随机代理和随机cookie。

对于使用免费IP代理:
你可以参考git:jhao104/proxy上的一个开源项目。我试过几个类似的,这个好像是最好的。它主要是利用flask来制作一个api来实时更新可用的ip。它不仅可以抓取各大免费代理商的ip,还可以定期检查ip的可用性。然而,这个项目还有一个问题。例如,如果我将捕获间隔设置为10秒,则任务的执行时间可能会超过10秒,并且会报告一个错误,整个程序将暂停。

对于使用付费代理:
如果你想保证爬虫的质量,可以选择一个高质量的付费代理IP。
动态IP模拟器以上的准备工作是爬虫之前的就需要做的,然后再进行爬虫程序的工作。