首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >爬虫破解IP限制–ADSL动态IP服务器–部署小结

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

作者头像
十四君
发布2019-11-27 15:05:57
4K0
发布2019-11-27 15:05:57
举报
文章被收录于专栏:UrlteamUrlteam

目前遇到的比较难搞的反爬虫技术有两个:特别难识别的人机识别验证码–如极验的手势验证,另外就是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服务器–部署小结

Related posts:

  1. 爬虫首尝试—爬取百度贴吧图片
  2. Scrapy-笔记一 入门项目 爬虫抓取w3c网站
  3. Scrapy-笔记二 中文处理以及保存中文数据
  4. Scrapy笔记零 环境搭建与五大组件架构
  5. 反爬虫之检测PhantomJS访客(翻译文)
  6. 使用phantomjs采集运用了强制跳转与页面等待等反爬技术的网站
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-08-182,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录:
  • 1:ADSL动态IP服务器原理
  • 2:购买与租用
  • 3:命令行自动更换ip
  • 4:部署爬虫代码
    • 项目运行截图:
    • 5:分布式爬虫问题记录
      • Related posts:
      相关产品与服务
      云数据库 Redis
      腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档