爬虫常见的反爬措施有三种:

1、header头部信息

解决方法:

加User-Agent值:

如果不加header头,部分网站服务器判断不到用户的访问来源,所以会返回一个404错误来告知你是一个爬虫,拒绝访问,解决办法如下:headers = {

'User-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.56 Safari/537.36'

}

这样服务器就会把用户当做浏览器了。

加Referer值

这类反爬网站也很常见,例如美团,仅仅加User-Agnet还是返回错误信息,这时就要把Referer值也加到头部信息中:

这样就会返回正常网页了。

加Host值

根据同源地址判断用户是否为爬虫,解决办法为:

加Accept值

之前遇到过这种网站,我加了一圈header头部信息才成功,最后发现是需要加Accept值,这类反爬措施的解决办法为:

2、限制IP的请求数量

这种就更常见了,大部分网站都有此类反爬措施,也就是说网站服务器会根据某个ip在特定时间内的访问频率来判断是否为爬虫,然后把你把你拉进“黑名单”,素质好的给你返回403或者出来个验证码,素质不好的会给你返回两句脏话。此种情况有两种解决办法:

①降低爬虫请求速率,但是会降低效率;

②添加代理ip,代理ip又分为付费的和不要钱的,前者比较稳定,后者经常断线。

添加格式为:

3、Ajax动态请求加载

这类一般是动态网页,无法直接找到数据接口,以某易新闻网站为例:

我想爬取该网页内的新闻图片,发现它的网页url一直不变,但是下拉网页的时候会一直加载图片,那么我们该怎么办呢?

首先按照开头方式打开流量分析工具

点击左上角“垃圾桶”图标清空缓存,然后下拉新闻网页:

会出现一大堆东西,但是不用慌,我们可以根据类型去寻找,一般图片信息肯定实在html、js或json格式的文件中,一个一个点进去看看,很快就找到了结果:

结果中把callback去掉之后就是个json文件,它的url为:

更多Python知识,请关注:Python自学网!!

python爬虫常见反爬措施_爬虫常见的反爬措施有哪些相关推荐

  1. python爬虫项目描述怎么写_爬虫项目咋写,爬取什么样的数据可以作为项目写在简历上?...

    看样子,主要目的是上简历 如果你想要爬虫的offer,那么你的项目应该有这么几个特征: 能用常用的框架,必要时有能力修改框架甚至自己写一个 熟悉多线程多进程分布式等,对爬虫任务调度有很好的解决办法 采 ...

  2. python import request 不报错_爬虫学习路径整理及安装环境遇到的坑

    学习路径是我自己提炼和精选的,只适合我个人,因为虽然有技术基础但是我刚入门爬虫视野很窄不专业,为避免误导你们,你们最好参考知乎上大牛已经回答的好答案.我发这篇文章,目的是给自己看的.ps,专栏下每篇文 ...

  3. python爬虫抓图_Python系列之五_爬虫抓图

    Python系列之五_爬虫抓图 前面我们粗略地学习了Python语言的语法,一直学语法也挺无聊的,现在让我们让做一些有趣的事情. 例如你在百度贴吧里看到一篇文章,里面有很多好看的图片,但是一张张另存比 ...

  4. webscraper多页爬取_爬虫工具实战篇(Web Scraper)- 京东商品信息爬取(原创)

    一.背景与目的 数字化营销时代,快速掌握了解数据是一项基本技能,本文主要讲解里面Web Scraper工具如何爬取公开数据,比如爬取京东的店铺售卖商品情况数据,以便我们更好地了解竞品对手的产品情况和定 ...

  5. 金蝶专业版怎么反过账当月_金蝶专业版怎么反过账

    金蝶专业版怎么反过账 1.进入主界面 2.同时按下ctrl+F11键-勾选"部分凭证反过账",如果是要全部反过账就可以不选 3.设置要反过账凭证字号,日期-完成 4.完成反过账后, ...

  6. python 反爬策略_如何应对网站反爬虫策略?如何高效地爬大量数据?

    爬虫(Spider),反爬虫(Anti-Spider),反反爬虫(Anti-Anti-Spider),这之间的斗争恢宏壮阔... Day 1 小莫想要某站上所有的电影,写了标准的爬虫(基于HttpCl ...

  7. python爬虫反爬策略_抖音字体反爬,爬虫字体反爬策略——每周一个爬虫小教程系列...

    在B站上看到一个关于抖音字体反爬的视频,看完之后,精神抖擞,不禁感觉,我又行了,于是在模拟器上下载了一个抖音,打开了我尘封已久的抖音号. 可以看见显示的数字是正常的,但是查看源码就是错误的. 既然是字 ...

  8. python 爬虫代码 爬隐藏_爬虫隐藏

    1.服务器是如何识别访问来自浏览器还是非浏览器 通过post的http头中的User-Agent来进行识别浏览器与非浏览器,服务器还以User-Agent来区分各个浏览器. 2.明明代码跟视频中的例子 ...

  9. python汽车用户消费投诉数据爬取_爬虫案例:汽车用户消费投诉数据爬取

    任务:爬取某公开网站上的汽车用户消费投诉数据('http://tousu.315che.com/tousulist/serial/55467/'),字段包含品牌.投诉内容.品牌车型.单号.投诉问题.投 ...

最新文章

  1. 机器学习-第九章 聚类
  2. Xamarin.Forms的ActivityIndicator和ProgressBar比较
  3. jvm 什么是对象头,里面有什么
  4. mysql的show profile使用总结
  5. 技术晋升的评定与博弈
  6. 查找目录下固定文件目录以及路径(自然排序)
  7. mysql如何更新一个表中的某个字段值等于另一个表的某个字段值
  8. java structs_Java之Structs框架初探
  9. 深度学习面试题之LSTM补充
  10. 如何采集与分析RocketMQ客户端日志
  11. win7声音小图标不见了,如何修复
  12. VMware Fusion安装cloudera manager
  13. 鸿蒙系统怎么安装网易云音乐,网易云音乐鸿蒙版 - 魔法系统之家下载
  14. 三分钟看完京东区块链白皮书
  15. 取消AsyncTask
  16. 常识:大白话讲解「对账」
  17. 收支两条线资金管理模式的应用
  18. (人工智障小白之路)keras 使用报错1
  19. 从2014全球出版业50强排行榜看出版产业的格局演变
  20. 个人网站中个性时钟小flash插件(js)

热门文章

  1. 提高程序员职场价值的10大技巧
  2. 云计算技术背后的那些天才程序员:KVM之父Avi Kivity
  3. 子网/子网掩码原理简介
  4. 你的代码可以是优雅的,但是还有更重要的
  5. SSH、SSL与HTTPS
  6. navicat 导出的sql文件,再导入,运行SQL文件成功,数据库中却没有表
  7. js 遍历对象的几种方法
  8. 偶也要去上海Tech一把了
  9. mysql 行转列 (结果集以坐标显示)
  10. 廖雪峰Java1-2程序基础-7布尔运算符