Python反爬虫技术之防止IP地址被封杀的讲解


Posted in Python onJanuary 09, 2019

在使用爬虫爬取别的网站的数据的时候,如果爬取频次过快,或者因为一些别的原因,被对方网站识别出爬虫后,自己的IP地址就面临着被封杀的风险。一旦IP被封杀,那么爬虫就再也爬取不到数据了。

那么常见的更改爬虫IP的方法有哪些呢?

1,使用动态IP拨号器服务器。

动态IP拨号服务器的IP地址是可以动态修改的。其实动态IP拨号服务器并不是什么高大上的服务器,相反,属于配置很低的一种服务器。我们之所以使用动态IP拨号服务器,不是看中了它的计算能力,而是能够实现秒换IP。

动态IP拨号服务器有一个特点,就是每次拨号都会更换一个新的IP地址。多年前家庭中的上网方式大多采用的ADSL拨号上网,也就是断开网络后再拨号一次,外网IP就会换成另一个。

通常来讲,这个IP池很大,可能有多个AB号段,IP数量基本上用不完。对于爬虫来说,这简直是大杀器,能够轻松的解决封杀IP的限制。

使用动态IP拨号服务器,需要付费购买。

2,使用Tor代理服务器。

Tor(The onion router, 洋葱路由器)是互联网上用于保护隐私最有利的工具之一。如果我们不适用Tor,网络请求就会直接发送给目标服务器。

相比之下,如果我们使用tor发送网络请求,客户端就会选择一条随机路径到服务器。这条随机路径中间会经过多个Tor节点,而且使用洋葱路由加密技术,使得任何节点都不能偷取加密数据,并且该请求的传输路径难以追踪,也查不出起点在哪。

Python反爬虫技术之防止IP地址被封杀的讲解

因此,我们可以使用tor技术改变请求的IP地址,作为一种终极的防止IP封锁的爬虫方案。

最近在学习《Python网络爬虫从入门到实践》,了解到其中的关于反爬虫的一些话题,做一下学习笔记。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Python 相关文章推荐
利用QT写一个极简单的图形化Python闹钟程序
Apr 07 Python
使用paramiko远程执行命令、下发文件的实例
Oct 01 Python
python sys,os,time模块的使用(包括时间格式的各种转换)
Apr 27 Python
PyTorch线性回归和逻辑回归实战示例
May 22 Python
python基于json文件实现的gearman任务自动重启代码实例
Aug 13 Python
使用matplotlib绘制图例标签中带有公式的图
Dec 13 Python
使用Python来做一个屏幕录制工具的操作代码
Jan 18 Python
python入门之井字棋小游戏
Mar 05 Python
Django中的session用法详解
Mar 09 Python
Python GUI编程学习笔记之tkinter中messagebox、filedialog控件用法详解
Mar 30 Python
Python Socket编程详解
Apr 25 Python
端午节将至,用Python爬取粽子数据并可视化,看看网友喜欢哪种粽子吧!
Jun 11 Python
Python Pywavelet 小波阈值实例
Jan 09 #Python
python利用小波分析进行特征提取的实例
Jan 09 #Python
Python 实现中值滤波、均值滤波的方法
Jan 09 #Python
对Python信号处理模块signal详解
Jan 09 #Python
使用python实现语音文件的特征提取方法
Jan 09 #Python
对python中Librosa的mfcc步骤详解
Jan 09 #Python
Python中的枚举类型示例介绍
Jan 09 #Python
You might like
php2html php生成静态页函数
2008/12/08 PHP
php 文件夹删除、php清除缓存程序
2009/08/25 PHP
PHP中的函数嵌套层数限制分析
2011/06/13 PHP
thinkphp特殊标签用法概述
2014/11/24 PHP
js 获取中文拼音,Select自动匹配字母获取值的代码
2009/09/23 Javascript
javascript 函数速查表
2010/02/07 Javascript
用Javascript实现Windows任务管理器的代码
2012/03/27 Javascript
点弹代码 点击页面任何位置都可以弹出页面效果代码
2012/09/17 Javascript
检测一个函数是否是JavaScript原生函数的小技巧
2015/03/13 Javascript
JQuery记住用户名密码实现下次自动登录功能
2015/04/27 Javascript
javascript类型系统 Array对象学习笔记
2016/01/09 Javascript
indexedDB bootstrap angularjs之 MVC DOMO (应用示例)
2016/06/20 Javascript
bootstrap使用validate实现简单校验功能
2016/12/02 Javascript
js实现简单的网页换肤效果
2017/01/18 Javascript
Django中使用jquery的ajax进行数据交互的实例代码
2017/10/15 jQuery
JavaScript使用闭包模仿块级作用域操作示例
2019/01/21 Javascript
使用vue脚手架(vue-cli)搭建一个项目详解
2019/05/09 Javascript
vue路由守卫+登录态管理实例分析
2019/05/21 Javascript
基于JS实现简单滑块拼图游戏
2019/10/12 Javascript
vue项目配置同一局域网可使用ip访问的操作
2020/10/23 Javascript
Python正则替换字符串函数re.sub用法示例
2017/01/19 Python
python导出hive数据表的schema实例代码
2018/01/22 Python
Python 串口读写的实现方法
2019/06/12 Python
使用python实现kNN分类算法
2019/10/16 Python
Python 解码Base64 得到码流格式文本实例
2020/01/09 Python
python标准库OS模块详解
2020/03/10 Python
Python的collections模块真的很好用
2021/03/01 Python
台湾良兴购物网:EcLife
2019/12/01 全球购物
资深财务管理人员自我评价
2013/09/22 职场文书
留学推荐信范文
2014/05/10 职场文书
销售区域经理岗位职责
2015/04/10 职场文书
2016年记者节感言
2015/12/08 职场文书
Python 制作自动化翻译工具
2021/04/25 Python
详解前端任务构建利器Gulp.js使用指南
2021/04/30 Javascript
vue3使用vue-router的完整步骤记录
2021/06/20 Vue.js
Redis集群节点通信过程/原理流程分析
2022/03/18 Redis