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进程通信之匿名管道实例讲解
Apr 11 Python
python制作爬虫并将抓取结果保存到excel中
Apr 06 Python
Python将多个excel表格合并为一个表格
Feb 22 Python
Python和Java进行DES加密和解密的实例
Jan 09 Python
Python爬虫设置代理IP的方法(爬虫技巧)
Mar 04 Python
使用 Python 实现简单的 switch/case 语句的方法
Sep 17 Python
selenium+python截图不成功的解决方法
Jan 30 Python
Python实现二叉树的最小深度的两种方法
Sep 30 Python
Python jieba库用法及实例解析
Nov 04 Python
pytorch下大型数据集(大型图片)的导入方式
Jan 08 Python
基于tensorflow权重文件的解读
May 26 Python
Python中的tkinter库简单案例详解
Jan 22 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的历史和优缺点
2006/10/09 PHP
《PHP边学边教》(04.编写简易的通讯录――视频教程1)
2006/12/13 PHP
浅析php fwrite写入txt文件的时候用 \r\n不能换行的问题
2013/08/06 PHP
innertext , insertadjacentelement , insertadjacenthtml , insertadjacenttext 等区别
2007/06/29 Javascript
让getElementsByName适应IE和firefox的方法
2007/09/24 Javascript
javascript:以前写的xmlhttp池,代码
2008/05/18 Javascript
初学JavaScript_03(ExtJs Grid的简单使用)
2008/10/02 Javascript
JQuery select标签操作代码段
2010/05/16 Javascript
用正则表达式替换图片地址img标签
2013/11/22 Javascript
了不起的node.js读书笔记之node.js中的特性
2014/12/22 Javascript
jQuery中:not选择器用法实例
2014/12/30 Javascript
JavaScript实现点击文字切换登录窗口的方法
2015/05/11 Javascript
向JavaScript的数组中添加元素的方法小结
2015/10/24 Javascript
Boostrap实现的登录界面实例代码
2016/10/09 Javascript
Angular实现跨域(搜索框的下拉列表)
2017/02/16 Javascript
vue利用better-scroll实现轮播图与页面滚动详解
2017/10/20 Javascript
JS使用队列对数组排列,基数排序算法示例
2019/03/02 Javascript
jQuery实现消息弹出框效果
2019/12/10 jQuery
微信小程序聊天功能的示例代码
2020/01/13 Javascript
JS实现容器模块左右拖动效果
2020/01/14 Javascript
在Chrome DevTools中调试JavaScript的实现
2020/04/07 Javascript
Python解惑之True和False详解
2017/04/24 Python
使用python生成杨辉三角形的示例代码
2018/08/29 Python
Python3的高阶函数map,reduce,filter的示例详解
2019/07/23 Python
使用django和vue进行数据交互的方法步骤
2019/11/11 Python
详解Sticky Footer 绝对底部的两种套路
2017/11/03 HTML / CSS
html5启动原生APP总结
2020/07/03 HTML / CSS
贝玲妃美国官方网站:Benefit美国
2016/08/28 全球购物
英国婚礼商城:Wedding Mall
2019/11/02 全球购物
linux面试相关问题
2012/08/11 面试题
工商管理专业职业生涯规划
2014/01/01 职场文书
医科大学毕业生自荐信
2014/02/03 职场文书
《钱学森》听课反思
2014/03/01 职场文书
2014年设备管理工作总结
2014/11/26 职场文书
幼儿园六一主持词开场白
2015/05/28 职场文书
小学班级标语口号大全
2015/12/26 职场文书