史上最全反爬虫方案汇总

本文介绍了多种反爬虫手段及对应的爬虫方法。反爬虫手段包括通过User - Agent、IP、SESSION、Spider Trap、验证码、robots.txt、数据动态加载、数据加密和非可视区域遮挡等。爬虫方法有设置User - Agent、使用IP代理池、注册多账号等,还分析了各手段的缺点和实现难度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过User-Agent来控制访问

无论是浏览器还是爬虫程序,在向服务器发起网络请求的时候,都会发过去一个头文件:headers,比如知乎的requests headers

这里面的大多数的字段都是浏览器向服务器”表明身份“用的

对于爬虫程序来说,最需要注意的字段就是:User-Agent

很多网站都会建立 user-agent白名单,只有属于正常范围的user-agent才能够正常访问。

爬虫方法:

可以自己设置一下user-agent,或者更好的是,可以从一系列的user-agent里随机挑出一个符合标准的使用。

缺点:

容易容易伪造头部,github上有人分享开源库fake-useragent

实现难度:

IP限制

如果一个固定的ip在短暂的时间内,快速大量的访问一个网站,后台管理员可以编写IP限制,不让该IP继续访问。

爬虫方法

比较成熟的方式是:IP代理池

简单的说,就是通过ip代理,从不同的ip进行访问,这样就不会被封掉ip了。

可是ip代理的获取本身就是一个很麻烦的事情,网上有免费和付费的,但是质量都层次不齐。如果是企业里需要的话,可以通过自己购买集群云服务来自建代理池。

缺点:

可以使用免费/付费代理,绕过检测。

实现难度:

SESSION访问限制

后台统计登录用户的操作,比如短时间的点击事件,请求数据事件,与正常值比对,用于区分用户是否处理异常状态,如果是,则限制登录用户操作权限。

缺点:

需要增加数据埋点功能,阈值设置不好,容易造成误操作。

爬虫方法

注册多个账号、模拟正常操作。

实现难度:★★★

Spider Trap

蜘蛛陷阱导致网络爬虫进入无限循环之类的东西,这会浪费蜘蛛的资源,降低其生产力,并且在编写得不好的爬虫的情况下,可能导致程序崩溃。礼貌蜘蛛在不同主机之间交替请求,并且不会每隔几秒钟从同一服务器请求多次文档,这意味着“礼貌”网络爬虫比“不礼貌”爬虫的影响程度要小得多。

反爬方式:

  1. 创建无限深度的目录结构
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值