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 CSV模块使用实例
Apr 09 Python
Python多线程编程简单介绍
Apr 13 Python
python的格式化输出(format,%)实例详解
Jun 01 Python
利用Python如何批量更新服务器文件
Jul 29 Python
Django之无名分组和有名分组的实现
Apr 16 Python
python 模拟银行转账功能过程详解
Aug 06 Python
Python实现报警信息实时发送至邮箱功能(实例代码)
Nov 11 Python
Python.append()与Python.expand()用法详解
Dec 18 Python
tensorflow保持每次训练结果一致的简单实现
Feb 17 Python
详解django中Template语言
Feb 22 Python
Python datetime 如何处理时区信息
Sep 02 Python
python 利用zmail库发送邮件
Sep 11 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 文件扩展名 获取函数
2009/06/03 PHP
php switch语句多个值匹配同一代码块的实现
2014/03/03 PHP
php定义参数数量可变的函数用法实例
2015/03/16 PHP
php下载远程大文件(获取远程文件大小)的实例
2017/06/17 PHP
JavaScript动态插入script的基本思路及实现函数
2013/11/11 Javascript
JS正则表达式大全(整理详细且实用)
2013/11/14 Javascript
js实现每日自动换一张图片的方法
2015/05/04 Javascript
怎么引入(调用)一个JS文件
2016/05/26 Javascript
Angular外部使用js调用Angular控制器中的函数方法或变量用法示例
2016/08/05 Javascript
jQuery的extend方法【三种】
2016/12/14 Javascript
使用jquery给新生的th绑定hover事件的实例
2017/02/10 Javascript
Node.js中sequelize时区的配置方法
2017/12/10 Javascript
vue结合axios与后端进行ajax交互的方法
2018/07/06 Javascript
微信开发之企业付款到银行卡接口开发的示例代码
2018/09/18 Javascript
vuex实现的简单购物车功能示例
2019/02/13 Javascript
JS实现电话号码的字母组合算法示例
2019/02/26 Javascript
微信小程序之onLaunch与onload异步问题详解
2019/03/28 Javascript
微信小程序分享功能onShareAppMessage(options)用法分析
2019/04/24 Javascript
Node.js HTTP服务器中的文件、图片上传的方法
2019/09/23 Javascript
微信小程序登录时如何获取input框中的内容
2019/12/04 Javascript
Node.js学习之内置模块fs用法示例
2020/01/22 Javascript
Flask SQLAlchemy一对一,一对多的使用方法实践
2013/02/10 Python
python模拟登录百度贴吧(百度贴吧登录)实例
2013/12/18 Python
python中list列表的高级函数
2016/05/17 Python
解决pandas无法在pycharm中使用plot()方法显示图像的问题
2018/05/24 Python
Python实现定制自动化业务流量报表周报功能【XlsxWriter模块】
2019/03/11 Python
详解pandas.DataFrame中删除包涵特定字符串所在的行
2019/04/04 Python
pytorch 实现在一个优化器中设置多个网络参数的例子
2020/02/20 Python
详解Python流程控制语句
2020/10/28 Python
历史专业个人求职信范文
2013/12/07 职场文书
《小山羊和小灰兔》教学反思
2014/02/19 职场文书
节约电力资源的建议书
2014/03/12 职场文书
企业文明单位申报材料
2014/05/16 职场文书
企业标语口号
2014/06/10 职场文书
2016优秀教师先进个人事迹材料
2016/02/25 职场文书
Node.js实现爬取网站图片的示例代码
2022/04/04 NodeJs