常见反爬虫手段及应对策略

网站反爬虫的手段

1通过User-Agent校验反爬

浏览器在发送请求的时候,会附带一部分浏览器及当前系统环境的参数给服务器,服务器会通过User-Agent的值来区分不同的浏览器。

2通过访问频度反爬 

普通用户通过浏览器访问网站的速度相对爬虫而言要慢的多,所以不少网站会利用这一点对访问频度设定一个阈值,如果一个IP单位时间内访问频度超过了预设的阈值,将会对该IP做出访问限制。

通常需要经过验证码验证后才能继续正常访问,严重的甚至会禁止该 IP 访问网站一段时间。
 
 
3 通过验证码校验反爬

有部分网站不论访问频度如何,一定要来访者输入验证码才能继续操作。例如12306网站,不管是登陆还是购票,全部需要验证验证码,与访问频度无关。

4 通过变换网页结构反爬

一些社交网站常常会更换网页结构,而爬虫大部分情况下都需要通过网页结构来解析需要的数据,所以这种做法也能起到反爬虫的作用。在网页结构变换后,爬虫往往无法在原本的网页位置找到原本需要的内容。

5 通过账号权限反爬

部分网站需要登录才能继续操作,这部分网站虽然并不是为了反爬虫才要求登录操作,但确实起到了反爬虫的作用。例如微博查看评论就需要登录账号。

爬取策略制定

    针对之前介绍的常见的反爬虫手段,可以制定对应的爬取策略如下。

Ø 发送模拟 User-Agent 通过发送模拟 User-Agent 来通过检验,将要发送至网站服务器的请求的 User-Agent 值伪装成一般用户登录网站时使用的 User-Agent 值。
Ø 调整访问频度: 通过备用 IP 测试网站的访问频率阈值,然后设置访问频率比阈值略低。这种方法既能保证爬取的稳定性,又能使效率又不至于过于低下。
Ø 通过验证码校验: 使用 IP 代理,更换爬虫 IP ;通过算法识别验证码;使用 cookie 绕过验证码。
Ø 应对网站结构变化: 只爬取一次时,在其网站结构调整之前,将需要的数据全部爬取下来;使用脚本对网站结构进行监测,结构变化时,发出告警并及时停止爬虫。
Ø 通过账号权限限制: 通过模拟登录的方法进行规避,往往也需要通过验证码检验。
Ø 通过代理 IP 规避: 通过代理进行 IP 更换可有效规避网站检测,需注意公用 IP 代理池是 网站重点监测对象。
 
 
  • 6
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值