反爬虫方法大全

反爬虫:

爬虫与反爬虫,这相爱相杀的一对,简直可以写出一部壮观的斗争史。而在大数据时代,数据就是金钱,很多企业都为自己的网站运用了反爬虫机制,防止网页上的数据被爬虫爬走。然而,如果反爬机制过于严格,可能会误伤到真正的用户请求;如果既要和爬虫死磕,又要保证很低的误伤率,那么又会加大研发的成本。

简单低级的爬虫速度快,伪装度低,如果没有反爬机制,它们可以很快的抓取大量数据,甚至因为请求过多,造成服务器不能正常工作。而伪装度高的爬虫爬取速度慢,对服务器造成的负担也相对较小。所以,网站反爬的重点也是那种简单粗暴的爬虫,反爬机制也会允许伪装度高的爬虫,获得数据。毕竟伪装度很高的爬虫与真实用户也就没有太大差别了。

下面请看:反爬虫策略

  1. 封IP:网页的运维人员通过分析日志发现最近某一个IP访问量特别特别大,某一段时间内访问了无数次的网页,则运维人员判断此种访问行为并非正常人的行为,于是直接在服务器上封杀了此人IP。
  2. 封useragent:很多的爬虫请求头就是默认的一些很明显的爬虫头python-requests/2.18.4,诸如此类,当运维人员发现携带有这类headers的数据包,直接拒绝访问,返回403错误。
  3. 封cookies: 服务器对每一个访问网页的人都set-cookie,给其一个cookies,当该cookies访问超过某一个阀值时就BAN掉该cookie,过一段时间再放出来,当然一般爬虫都是不带cookie进行访问的,可是网页上有一部分内容如新浪微博是需要用户登录才能查看更多内容。限制每个每天下载300张。
  4. 验证码验证:当某一用户访问次数过多后,就自动让请求跳转到一个验证码页面,只有在输入正确的验证码之后才能继续访问网站。
  5. javascript渲染:网页开发者将重要信息放在网页中但不写入html标签中,而浏览器会自动渲染 <script ) 标签中的js代码将信息展现在浏览器当中,而爬虫是不具备执行js代码的能力,所以无法将js事件产生的信息读取出来。
  6. ajax异步传输:访问网页的时候服务器将网页框架返回给客户端,在与客户端交互的过程中通过异步ajax技术传输数据包到客户端,呈现在网页上,爬虫直接抓取的话信息为空。
  7. 页面懒加载
  8. referer字段反爬:请求头字段里需要携带Cookie、User-Agent、Referer等多个字段共同请求才可以获取到图片数据,否则不返回数据。
  9. 延时操作:
  • 在点击下载后显示评价弹窗
  • 在点击下载后跳转页面
  • 使用进度条控制用户与非用户,会员与非会员的下载速度
  1. 网页iframe框架嵌套:在下载框处再内嵌一个窗口,使得爬虫提取不到内层窗口的数据
  2. csrf防护:将图片下载改为post提交,并携带随机的crfs_token值,每次进行比对token值正确后,再返回图片
  3. 下载图片返回包含图片得压缩包
  4. 限制每日下载量
  5. 图片加水印或者logo
  6. DDOS防护

今天就讲这里

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值