python中绕过反爬虫的方法总结


Posted in Python onNovember 25, 2020

我们在登山的途中,有不同的路线可以到达终点。因为选择的路线不同,上山的难度也有区别。就像最近几天教大家获取数据的时候,断断续续的讲过header、地址ip等一些的方法。具体的爬取方法相信大家已经掌握住,本篇小编主要是给大家进行应对反爬虫方法的一个梳理,在进行方法回顾的同时查漏补缺,建立系统的爬虫知识框架。

首先分析要爬的网站,本质是一个信息查询系统,提供了搜索页面。例如我想获取某个case,需要利用这个case的id或者name字段,才能搜索到这个case的页面。

出于对安全的考虑,有些网站会做一些反爬的措施,例如之前讲到的需要判断user-angent和cookies,或者判断请求的ip是否在短时间内多次访问。该网站用的是知道创宇的安全服务,频繁访问会提示ip行为不正常。 

python中绕过反爬虫的方法总结

浏览器本质也是一个应用程序,只要ip不被封,既然可以通过浏览器访问,那么我们自己写程序来请求也是应该没有问题的。 

一些常见的绕过反爬虫的措施有:

  • 构造消息头:如上所说的user-angent和cookies都包含在消息头当中。
  • 延长请求间隔:如果快速频繁的发送请求,会大量抢占服务器资源,一般这种情况下很容易被网站的安全措施检测出来并且封掉ip。所以适当的延长请求间隔,例如随机隔2-5秒不等再发送下一次请求。
  • 使用代理ip,解决ip检测问题。

当然常见的反爬虫方法也不止以上的这些,这里只罗列出这常用的三种方法,有概念模糊的可以去往期的文章翻阅,其他的绕过反爬虫方法

到此这篇关于python中绕过反爬虫的方法总结的文章就介绍到这了,更多相关python中绕过反爬虫的方法有哪些内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python中操作MySQL入门实例
Feb 08 Python
Python使用xlrd读取Excel格式文件的方法
Mar 10 Python
详解Python多线程
Nov 14 Python
解决python中遇到字典里key值为None的情况,取不出来的问题
Oct 17 Python
Python和Go语言的区别总结
Feb 20 Python
Python语法分析之字符串格式化
Jun 13 Python
python GUI库图形界面开发之PyQt5复选框控件QCheckBox详细使用方法与实例
Feb 28 Python
PySide2出现“ImportError: DLL load failed: 找不到指定的模块”的问题及解决方法
Jun 10 Python
Node.js 和 Python之间该选择哪个?
Aug 05 Python
基于django和dropzone.js实现上传文件
Nov 24 Python
Python 无限级分类树状结构生成算法的实现
Jan 21 Python
matplotlib之pyplot模块实现添加子图subplot的使用
Apr 25 Python
pycharm激活码免费分享适用最新pycharm2020.2.3永久激活
Nov 25 #Python
python爬虫泛滥的解决方法详解
Nov 25 #Python
cookies应对python反爬虫知识点详解
Nov 25 #Python
Python基于unittest实现测试用例执行
Nov 25 #Python
python反爬虫方法的优缺点分析
Nov 25 #Python
Pytest测试框架基本使用方法详解
Nov 25 #Python
python实现企业微信定时发送文本消息的实例代码
Nov 25 #Python
You might like
PHP编码规范的深入探讨
2013/06/06 PHP
微信支付开发发货通知实例
2016/07/12 PHP
PHP面试常用算法(推荐)
2016/07/22 PHP
ajax调用返回php接口返回json数据的方法(必看篇)
2017/05/05 PHP
Jquery 滑入滑出效果实现代码
2010/03/27 Javascript
基于jquery的鼠标拖动效果代码
2012/05/30 Javascript
JavaScript实现检查页面上的广告是否被AdBlock屏蔽了的方法
2014/11/03 Javascript
jQuery的css()方法用法实例
2014/12/24 Javascript
jQuery中remove()方法用法实例
2014/12/25 Javascript
浅谈javascript原型链与继承
2015/07/13 Javascript
javascript bom是什么及bom和dom的区别
2015/11/26 Javascript
jQuery中的siblings用法实例分析
2015/12/24 Javascript
自己动手制作基于jQuery的Web页面加载进度条插件
2016/06/03 Javascript
JS版微信6.0分享接口用法分析
2016/10/13 Javascript
JavaScript 中Date对象的格式化代码方法汇总
2017/09/06 Javascript
在vue中添加Echarts图表的基本使用教程
2017/11/22 Javascript
解决vue点击控制单个样式的问题
2018/09/05 Javascript
JS动画实现回调地狱promise的实例代码详解
2018/11/08 Javascript
Vue和React组件之间的传值方式详解
2019/01/31 Javascript
js blob类型url的视频下载问题的解决
2019/11/29 Javascript
详解Python中的正则表达式的用法
2015/04/09 Python
Python+matplotlib实现计算两个信号的交叉谱密度实例
2018/01/08 Python
对python csv模块配置分隔符和引用符详解
2018/12/12 Python
谈一谈数组拼接tf.concat()和np.concatenate()的区别
2020/02/07 Python
python新式类和经典类的区别实例分析
2020/03/23 Python
canvas学习笔记之2d画布基础的实现
2019/02/21 HTML / CSS
如何开启linux的ssh服务
2013/06/03 面试题
介绍下Java中==和equals的区别
2013/09/01 面试题
数学专业推荐信范文
2013/11/21 职场文书
房地产融资计划书
2014/01/10 职场文书
餐饮加盟计划书
2014/01/10 职场文书
学习十八届三中全会精神实施方案
2014/02/17 职场文书
新农村建设标语
2014/06/24 职场文书
地陪导游欢迎词
2015/01/26 职场文书
2015年环境监察工作总结
2015/07/23 职场文书
祝酒词范文
2015/08/12 职场文书