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程序中操作MySQL的基本方法
Jul 29 Python
python的else子句使用指南
Feb 27 Python
对numpy数据写入文件的方法讲解
Jul 09 Python
python3.5基于TCP实现文件传输
Mar 20 Python
Python中字符串String的基本内置函数与过滤字符模块函数的基本用法
May 27 Python
简单了解python关系(比较)运算符
Jul 08 Python
python requests抓取one推送文字和图片代码实例
Nov 04 Python
python 列表、字典和集合的添加和删除操作
Dec 16 Python
简单了解python调用其他脚本方法实例
Mar 26 Python
Python代码需要缩进吗
Jul 01 Python
python两种获取剪贴板内容的方法
Nov 06 Python
Python实现GIF动图以及视频卡通化详解
Dec 06 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
239军机修复记
2021/03/02 无线电
Win9x/ME下Apache+PHP安装配置
2006/10/09 PHP
数字转英文
2006/12/06 PHP
15种PHP Encoder的比较
2007/03/06 PHP
分享五个PHP7性能优化提升技巧
2015/12/07 PHP
Ubuntu VPS中wordpress网站打开时提示”建立数据库连接错误”的解决办法
2016/11/03 PHP
php中str_pad()函数用法分析
2017/03/28 PHP
在Laravel的Model层做数据缓存的实现
2019/09/26 PHP
PHP的Trait机制原理与用法分析
2019/10/18 PHP
HTML代码中标签的全部属性 中文注释说明
2009/03/26 Javascript
javascript实现的在当前窗口中漂浮框的代码
2010/03/15 Javascript
JS弹出层单纯的绝对定位居中示例代码
2014/02/18 Javascript
Nodejs中自定义事件实例
2014/06/20 NodeJs
jQuery之DOM对象和jQuery对象的转换与区别分析
2015/01/08 Javascript
jquery实现对联广告的方法
2015/02/05 Javascript
JavaScript使用FileSystemObject对象写入文本文件内容的方法
2015/08/05 Javascript
checkbox 选中一个另一个checkbox也会选中的实现代码
2016/07/09 Javascript
JS 实现Base64编码与解码实例详解
2016/11/07 Javascript
axios封装与传参示例详解
2020/10/18 Javascript
基于javascript实现移动端轮播图效果
2020/12/21 Javascript
Python深入学习之对象的属性
2014/08/31 Python
python xpath获取页面注释的方法
2019/01/14 Python
Python自动抢红包教程详解
2019/06/11 Python
梅尔倒谱系数(MFCC)实现
2019/06/19 Python
浅谈tensorflow 中tf.concat()的使用
2020/02/07 Python
Python调用JavaScript代码的方法
2020/10/27 Python
python实现KNN近邻算法
2020/12/30 Python
CSS3 animation实现逐帧动画效果
2016/06/02 HTML / CSS
StubHub哥伦比亚:购买和出售您的门票
2016/10/20 全球购物
小学国庆节活动方案
2014/02/11 职场文书
访谈节目策划方案
2014/05/15 职场文书
幼儿园标语大全
2014/06/19 职场文书
卫生标语大全
2014/06/21 职场文书
导游词之海南-南湾猴岛
2019/10/12 职场文书
分析MySQL抛出异常的几种常见解决方式
2021/05/18 MySQL
SpringBoot使用AOP实现统计全局接口访问次数详解
2022/06/16 Java/Android