python 爬虫各种反爬手段小总结

爬虫的具体介绍就不说了,这里想对自己多年的爬虫中遇到的情况进行一个总结

1.模拟浏览器

2.Ip

3.登录

4.验证码

5.各种信息加密

6.请求频率

 

1.模拟浏览器

  • 目前度娘一搜一大把,最集中的就是ua了,搭建一个随机ua池,不断的变化ua,很普遍的方法, 这里推荐一个大神写的开源库 fake-useragent https://github.com/hellysmile/fake-useragent 简单好用
  • 防盗链,抓取图片经常会遇到,最简单的方式就是获取其Referrer,放到自己的 headers 中,具体自行度娘
  • cookie,这是一个最常见的反爬手段之一了,可以把它和登录放在一起。有些不需要登录的网站也会通过cookie来过滤一些没有经过伪装的爬虫,有些网站会在cookie中加入时间戳,然后加密。这些网站服务器会根据cookie设置过期时间;so,我们需要一个cookie池了,使用requests会很方便的搭建一个cookie池,当然了,强烈推荐requests大神的新作 requests-html,可以执行js,自己翻页什么的(偶像)
  • 其他一些参数,请求头是反爬虫的重要手段和常用伎俩之一,我们如果发现数据没有,或者有问题,一定一定注意一些,通过抓包仔细分析
     

2.ip,请求频繁

  • 很多新手或者某些人为了利益,制造很多的暴力爬虫(不限速,高并发请求),这会造成对方服务器压力巨大,甚至是死机,建议大家在练习或者工作的时候;养成良好的习惯,这是相互的过程,如果你很良好的请求。对方服务器没那么大压力,他的一些不那么重要的数据还是会很开心的让你访问的
  • 其实代理ip很简单,requests, scrapy都有自己的方法来设置,网上也有很多的免费(西刺免费代理),付费代理(阿布云)等等,代理是没有办法的办法,毕竟我们自己的ip才是速度最快的,如果真的需要频繁更换代理Ip,建议搭建一个自己的代理ip池,定时监测,删除。

3.登录

  • 可以用requests模拟登录,网上有很多,一般登录之后,保存cookie就可以了;当然注意我上面说的cookie过期时间,如果嫌麻烦,登录最常用的就是selenium了,简单快捷

4.验证码

  • 网上打码平台很多,也有详细的API,如果嫌麻烦,当然还是首选selenium(万金油),不过selenium会降低抓取的速度,请大家根据需要进行选择

5.信息加密

  • 这类数据多用在一些核心的信息(价格,电话,图片等),有的使用js包裹,有的使用加密函数(sha,bas64,md5等等)
  • 加密数据的典型就是某8同城了,它的价格可以看到,拿到是乱码一样的东西(生僻字?)。通过抓包,会发现它有一个自己的字符编码。然后还有解密什么的,度娘有人写过

总结:

  • 简单总结了我遇到的一些基本反爬手段,当然实际运用中会有各种意想不到的情况。数据是未来的一个基础。反爬工程师会越来越精明。采集数据难度也会越来越大,当然如果我们合理运用;不对对方造成压力,对方还是会网开一面的(核心数据除外)这里推荐我学习的资料, 崔大大的爬虫书(python3网路爬虫开发实战)python核心3,还有一些视频:传智播客,慕课网的爬虫视频。. 一些学习网站:实验楼,菜鸟教程,w3cSchool,廖雪峰廖大大的官网,当然还有我们的度娘
  • 总结,回顾,不断的学习。才可以有更好的进步

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值