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 22 Python
Python数据分析中Groupby用法之通过字典或Series进行分组的实例
Dec 08 Python
python实现用户管理系统
Jan 10 Python
分分钟入门python语言
Mar 20 Python
Python实现获取汉字偏旁部首的方法示例【测试可用】
Dec 18 Python
使用PyOpenGL绘制三维坐标系实例
Dec 24 Python
Python趣味实例,实现一个简单的抽奖刮刮卡
Jul 18 Python
scrapy结合selenium解析动态页面的实现
Sep 28 Python
python 实现"神经衰弱"翻牌游戏
Nov 09 Python
sublime3之内网安装python插件Anaconda的流程
Nov 10 Python
PyCharm最新激活码PyCharm2020.2.3有效
Nov 18 Python
用Python编写简单的gRPC服务的详细过程
Jul 04 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
中国第一家无线电行
2021/03/01 无线电
Ajax实时验证用户名/邮箱等是否已经存在的代码打包
2011/12/01 PHP
8个必备的PHP功能实例代码
2013/10/27 PHP
php判断电脑访问、手机访问的例子
2014/05/10 PHP
php微信扫码支付 php公众号支付
2019/03/24 PHP
php封装的pdo数据库操作工具类与用法示例
2019/05/08 PHP
基于PHP的微信公众号的开发流程详解
2020/08/07 PHP
php中使用array_filter()函数过滤数组实例讲解
2021/03/03 PHP
JavaScript 判断日期格式是否正确的实现代码
2011/07/04 Javascript
javascript加号"+"的二义性说明
2013/03/04 Javascript
Vue实现购物车场景下的应用
2017/11/27 Javascript
讲解vue-router之命名路由和命名视图
2018/05/28 Javascript
angular4强制刷新视图的方法
2018/10/09 Javascript
详解如何在Node.js的httpServer中接收前端发送的arraybuffer数据
2018/11/11 Javascript
jquery实现Ajax请求的几种常见方式总结
2019/05/28 jQuery
原生JavaScript实现随机点名表
2021/01/14 Javascript
使用python开发vim插件及心得分享
2014/11/04 Python
Python中的is和==比较两个对象的两种方法
2017/09/06 Python
《与孩子一起学编程》python自测题
2018/05/27 Python
Python3删除排序数组中重复项的方法分析
2019/01/31 Python
对Python3中列表乘以某一个数的示例详解
2019/07/20 Python
python实现证件照换底功能
2019/08/20 Python
django实现日志按日期分割
2020/05/21 Python
python自动化办公操作PPT的实现
2021/02/05 Python
用CSS3的box-reflect设置文字倒影效果的方法讲解
2016/03/07 HTML / CSS
什么是接口(Interface)?
2013/02/01 面试题
EJB的基本架构
2016/09/22 面试题
毕业生求职的求职信
2013/12/05 职场文书
画展邀请函
2015/01/31 职场文书
刑事法律意见书
2015/06/04 职场文书
大学生暑期实践报告
2015/07/13 职场文书
小学运动会加油词
2015/07/18 职场文书
七年级生物教学反思
2016/02/20 职场文书
Python基础之元编程知识总结
2021/05/23 Python
Python按顺序遍历并读取文件夹中文件
2022/04/29 Python
windows server 2016 域环境搭建的方法步骤(图文)
2022/06/25 Servers