专栏首页Urlteam爬虫破解IP限制–ADSL动态IP服务器–部署小结

爬虫破解IP限制–ADSL动态IP服务器–部署小结

目前遇到的比较难搞的反爬虫技术有两个:特别难识别的人机识别验证码–如极验的手势验证,另外就是ip大量的限制,如R网站两次访问就被强制跳转到验证码页面。现在留下部署手记

针对这个问题,采用爬虫届大招一样的ADSL动态部署起来,要是,要明白用ADSL就意味着是开始拼成本了。不再像是过去随意一台电脑就爱怎么爬怎么爬。

目录:

  1. ADSL动态IP服务器原理:
  2. 购买与租用
  3. 命令行自动更换ip
  4. 部署爬虫代码
  5. 分布式爬虫问题记录

1:ADSL动态IP服务器原理

ADSL动态IP服务器,并不是什么高大上的方式,也不是什么特别高端的服务器,相反,使用起来,我们一般是用配置非常低的那一类,因为这个时候重要的是数量而不是质量。

原理很简单,在家庭网络中宽带上网只要断开再拨号一次,链接成功就会更换一次外网ip。并且链接建立后网速比较稳定。这就是动态ip了,一般这个ip池很大,一个城市一般会有5W-30W的ip。基本属于用不完。

so,只要有一台接入了宽带的电脑,都可以叫做ADSL动态IP服务器。但是,你要明白这样以来时间将会有部分消耗在网络建立的时间上大约十秒。

例如我们现在要攻克的R项目。他的页面每两次访问就会被强制跳转到验证码页面,,so,为了跳过验证码就得每两次访问就换一次ip。而且,最严重的就是要是面对这样高限制ip的,那么就不能在一台机器上通过多开爬虫客户端从而实现单机器的分布式爬虫。效率低很多。

要想提高效率要么是ip限制次数比较高的。比如1000/ip这种,。要么就是多机器每机器单个爬虫的分布式了。

2:购买与租用

要知道具体内容可以搜关键词:动态ip服务器   或者 ADSL服务器 或者 淘宝

然后你就可以看到n多服务商,一般而言,你选购一个50-80元/一个月的就还算可以用了,一般会采用vnc的方式远程桌面链接,很少有用linux系统的,下文中有分布式winxp系统的配置指南。淘宝中一般有1快或者5-10块试用一天的可以搞来。

3:命令行自动更换ip

环境 winxp下。使用rasdial 你在cmd控制台中系统自带有,输入

'rasdial /?‘ 出现帮助
print os.popen('rasdial /DISCONNECT').read()
time.sleep(3)
print os.popen('rasdial "设定的宽带名称"  帐号 密码').read()
print os.popen('rasdial').read()
time.sleep(1)

这个时候你需要在网上邻居中新建一个宽带链接,名字最好是英文,然后先手动在可视化界面验证一下是否可以上网。然后使用上诉代码,来用控制宽带网络一个循环会断开重链接,

有可能出现的问题是,手动建立的或者别的进程建立的链接,这个命令行无法断开,所以最好一台电脑之运行一个爬虫,并且断开连接之间最好有时间延时。

4:部署爬虫代码

在winxp的环境下使用python一般是32位的,分布式自然会需要python-mysql模块,以及redis模块。下面提供安装包和安装方式。

python2_jb51 解压后安装msi和exe都可以

redis-2.1.5-win32 提供redis的功能模块

redis-py-master 解压后,由控制台移动到目录下,运行 python setup.py (提前配一下python环境变量)

MySQL-python-1.2.3.win32-py2.7 解压直接安装

这样基本需要的就有了,关于分布式爬虫实在没接触过的看之前的几篇博文吧。

SCRAPY学习笔记七 结合redis构建分布式爬虫

项目运行截图:

5:分布式爬虫问题记录

目前出现的问题是:

1:mysql链接出现莫名中断问题,这个因为ip地址跟换太频繁,so,简单的用try来跳过错误,重新加入任务队列,然后重新跑,不让整个爬虫中断了就可以,

2:redis出现莫名链接中断问题。同上。

3:跟换ip太快导致ip并没有更换而是用原来的ip。延时久一点,设置为5s间隔为佳,网速链接不好宁愿爬虫请求之间的延时短点。也要让宽带断开与新连接时间长点。。

原创文章,转载请注明: 转载自URl-team

本文链接地址: 爬虫破解IP限制–ADSL动态IP服务器–部署小结

  1. 爬虫首尝试—爬取百度贴吧图片
  2. Scrapy-笔记一 入门项目 爬虫抓取w3c网站
  3. Scrapy-笔记二 中文处理以及保存中文数据
  4. Scrapy笔记零 环境搭建与五大组件架构
  5. 反爬虫之检测PhantomJS访客(翻译文)
  6. 使用phantomjs采集运用了强制跳转与页面等待等反爬技术的网站

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • #000 Python 入门第一题通过扩展,学到了更多的知识

    创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    韩旭051
  • 中文编程为什么没有发展起来?

    我是雪易网的开发者玩蛇的胖纸,当你看到这封信的时候,我想我已经离开易语言界很久了。

    玩蛇的胖纸
  • 不到70行Python代码,轻松玩转RFM用户分析模型(附案例数据和代码)

    本文从RFM模型概念入手,结合实际案例,详解Python实现模型的每一步操作,并提供案例同款源数据,以供同学们知行合一。

    木东居士
  • Python 核心设计理念27个问题及解答

    Guido van Rossum 认为使用缩进进行分组非常优雅,并且大大提高了普通 Python 程序的清晰度。大多数人在一段时间后就学会并喜欢上这个功能。

    小草AI
  • Python实现五子棋人机对战

    五子棋是常见的一款小游戏,五子棋问题是人工智能中的一个经典问题。这篇文章主要介绍了python版本五子棋的实现代码,大家可以做个参考,与我的傻儿子对弈一下。

    数据森麟
  • PHP函数之日期时间函数date()详解

    format 必需。规定时间戳的格式。 timestamp 可选。规定时间戳。默认是当前的日期和时间。

    乄浪漫经典
  • 「译」ES6:参数默认值的实现细节

    在这篇文章中我们会介绍另一个 ES6 的特性,带默认值的函数参数。正如我们将看到的,有一些微妙的案例。

    Chor
  • 数据分析最有用的 Top 50 Matplotlib 图(附完整的Python代码)(上)

    50个Matplotlib图的汇编,在数据分析和可视化中最有用。此列表允许您使用Python的Matplotlib和Seaborn库选择要显示的可视化对象。

    小草AI
  • Python高效编程之itertools模块详解

    在打印内容字节数较小时,全部载入内存后,再打印,没有问题。可是,如果现在有成千上百万条车辆行驶轨迹,叫你分析出其中每个客户的出行规律,堵车情况等,假如是在单机上...

    小草AI
  • 【PAT乙级】Wifi密码

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    喜欢ctrl的cxk

扫码关注云+社区

领取腾讯云代金券