写在前面
爬虫是 Python 的一个常见应用场景,很多练习项目就是让大家去爬某某网站
爬取网页的时候,你大概率会碰到一些反爬措施
这种情况下,你该如何应对呢?
本文梳理了常见的反爬措施和应对方案
接着往下看吧

通过User-Agent来控制访问
无论是浏览器还是爬虫程序,在向服务器发起网络请求的时候,都会发过去一个头文件:headers
以本网页为例,点击鼠标右键,接着点击[检查],可以看到如下的示例

图1
这里面的大多数的字段都是浏览器向服务表明身份用的
对于爬虫程序来说,最需要注意的字段就是:User-Agent
很多网站都会建立User-Agent白名单,只有属于正常范围的user-agent才能够正常访问
解决方法
可以自己设置一下user-agent,或者更好的是,可以从一系列的user-agent里随机挑出一个符合标准的使用

图2
实现难度:★
IP限制
如果一个固定的ip在短暂的时间内,快速大量的访问一个网站,后台管理员可以编写IP限制,不让该IP继续访问
解决方法
比较成熟的方式是:IP代理池

图3
简单的说,就是通过ip代理,从不同的ip进行访问,这样就不会被封掉ip了
可是ip代理的获取本身就是一个很麻烦的事情,网上有免费和付费的,但是质量都层次不齐
如果是企业里需要的话,可以通过自己购买集群云服务来自建代理池
实现难度:★

本文详细介绍了Python爬虫过程中可能遇到的各种反爬措施,包括User-Agent限制、IP限制、SESSION控制、Spider Trap、验证码识别以及通过robots.txt限制等,并提供了相应的解决方案,如设置User-Agent、使用IP代理池、OCR识别验证码等,旨在帮助爬虫开发者应对各种反爬挑战。
最低0.47元/天 解锁文章
3002

被折叠的 条评论
为什么被折叠?



