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 相关文章推荐
python简单程序读取串口信息的方法
Mar 13 Python
python 3.5实现检测路由器流量并写入txt的方法实例
Dec 17 Python
Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法
Jan 11 Python
使用python中的in ,not in来检查元素是不是在列表中的方法
Jul 06 Python
python K近邻算法的kd树实现
Sep 06 Python
PyQt5图形界面播放音乐的实例
Jun 17 Python
Django使用中间键实现csrf认证详解
Jul 22 Python
基于python+selenium的二次封装的实现
Jan 06 Python
Python语法之精妙的十个知识点(装B语法)
Jan 18 Python
pytorch实现CNN卷积神经网络
Feb 19 Python
python对批量WAV音频进行等长分割的方法实现
Sep 25 Python
一篇文章弄懂Python关键字、标识符和变量
Jul 15 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
php ctype函数中文翻译和示例
2014/03/21 PHP
php多次include后导致全局变量global失效的解决方法
2015/02/28 PHP
php抛出异常与捕捉特定类型的异常详解
2016/10/26 PHP
php微信公众号开发之翻页查询
2018/10/20 PHP
PHP CURL使用详解
2019/03/21 PHP
Yii框架页面渲染操作实例详解
2019/07/19 PHP
laravel model 两表联查示例
2019/10/24 PHP
JS解密入门之凭直觉解
2008/06/25 Javascript
JavaScript是否可实现多线程  深入理解JavaScript定时机制
2009/12/22 Javascript
javascript中的变量是传值还是传址的?
2010/04/19 Javascript
jQuery select操作控制方法小结
2010/05/26 Javascript
关于javascript function对象那些迷惑分析
2011/10/24 Javascript
JavaScript NodeTree导航栏(菜单项JSON类型/自制)
2013/02/01 Javascript
『JavaScript』限制Input只能输入数字实现思路及代码
2013/04/22 Javascript
详细介绍8款超实用JavaScript框架
2013/10/25 Javascript
js中取得变量绝对值的方法
2015/01/03 Javascript
JavaScript实现SHA-1加密算法的方法
2015/03/11 Javascript
AngularJS入门教程之ng-checked 指令详解
2016/08/01 Javascript
JavaScript中日期函数的相关操作知识
2016/08/03 Javascript
基于JS实现发送短信验证码后的倒计时功能(无视页面刷新,页面关闭不进行倒计时功能)
2016/09/02 Javascript
jQuery实现在新增加的元素上添加事件方法案例分析
2017/02/09 Javascript
js中offset,client , scroll 三大元素知识点总结
2019/09/11 Javascript
Vue2.4+新增属性.sync、$attrs、$listeners的具体使用
2020/03/08 Javascript
python实现DNS正向查询、反向查询的例子
2014/04/25 Python
Python建立Map写Excel表实例解析
2018/01/17 Python
Django跨域请求CSRF的方法示例
2018/11/11 Python
5款Python程序员高频使用开发工具推荐
2019/04/10 Python
浅谈python多进程共享变量Value的使用tips
2019/07/16 Python
HTML5 Canvas中绘制矩形实例
2015/01/01 HTML / CSS
会展中心部门工作职责
2013/11/27 职场文书
三年大学自我鉴定
2014/01/16 职场文书
妇女干部培训方案
2014/05/12 职场文书
奥巴马胜选演讲稿
2014/05/15 职场文书
请病假条范文
2015/08/17 职场文书
MySQL查询日期时间
2022/05/15 MySQL
html解决浏览器记住密码输入框的问题
2023/05/07 HTML / CSS