最近在帮客户抓取某网站数据时之前一直能够抓取,最近突然无法抓取了,换电脑后能抓取3-5篇文章,然后就不能再继续抓取了。
查看请求信息,发现对方网站使用了CloudFlare防火墙的防爬虫功能,在抱着尝试一下的心态,经过一段时间的研究,找到了解决方法:
核心思路:
- 伪造请求:包含的项目有:浏览器UA,伪造来路Referer,伪造Cookies,伪造其他Header项(只能是特定项,如果全部伪造依然不能识别)
- 伪造请求频率:随机请求时间间隔,通常建议3-5秒+,尽量不要设置成固定值。
经过上面两步操作后基本可以实现绕过防火墙,另外有条件的也可以挂代理服务器通过Ip轮换来实现绕过。