qq:800819103
在线客服,实时响应
qq群
在线客服,实时响应
客服电话
13318873961使用高质量代理ip设计分布式爬虫的一些思路!假如不用代理ip,爬虫业务必定无路可行,因此大部分爬虫工作者都会去购买安全稳定的代理ip。使用了高质量的代理ip后,会不会就能够无后顾之忧了呢?这个可不会这么容易,还要改进方案,有效分配资源,提升工作效率,又快速又稳定又高效的完成爬虫。
方案一、每个进程从接口API中随机取一个IP列表来反复使用,失效后再调用API获取,大致逻辑是这样:
1、每个进程,从接口随机取回一批ip回来,反复试着ip目录去抓取数据;
2、要是访问成功,则继续抓取下一条。
3、要是失败了,再从接口取一批IP,继续尝试。
方案弊端:每个IP都是有期限的,要是提取了一百个,用到第二十个时,或许剩下的大多数都无法使用了。要是设置HTTP请求时连接时间超时是3秒,读取时间超时是5秒,那么或许会耗费3-8秒的时间,在这3-8秒内可能抓取了几百次了。
方案二:每个进程从接口API中随机取一个IP来使用,失败则再调用API获取一个IP,大致逻辑如下:
1、每个进程,从接口随机取回一个ip来,用这个ip来浏览资源,
2、要是访问成功,则继续抓下一条。
3、要是失败了,再从接口随机取一个IP,继续尝试。
方案缺点:调用API获取IP的行为非常频繁,会对代理服务器造成特别大的压力,影响API接口稳定,可能会被限制提取。这类方案也不适合,无法持久稳定的运行。
方案三:先提取大量IP导入本地数据库,从数据库里面取IP,大致逻辑如下:
1、在数据库里面建一个表,写一个导入脚本,每分钟请求多少次API(黑洞代理ip),把IP列表导入到数据库里面。
2、在数据库里面记录好 导入时间、IP、Port、过期时间、IP可用状态 等字段;
3、写一个抓取脚本,抓取脚本从数据库里面读取可用IP,每个进程从数据库获取一个IP进行使用。
4、执行抓取,对结果进行判断,处理cookie等,只要出现验证码或者失败就放弃这个IP,重新换一个IP。
这种方案有效的避开了代理服务器资源的消耗,有效的分配代理IP的使用,更加的高效和稳定,保障了爬虫工作的持久性和稳定性。
相关文章内容简介
1 使用高质量代理ip设计分布式爬虫的一些思路
∵ ∵ ∵ 使用高质量代理ip设计分布式爬虫的一些思路!假如不用代理ip,爬虫业务必定无路可行,因此大部分爬虫工作者都会去购买安全稳定的代理ip。使用了高质量的代理ip后,会不会就能够无后顾之忧了呢?这个可不会这么容易,还要改进方案,有效分配资源,提升工作效率,又快速又稳定又高效的完成爬虫。 方案一、每个进程从接口API中随机取一个... [阅读全文]
最新标签
推荐阅读
07
2019-02
电脑、安卓如何设置修改IP地址?
处于局域网中的计算机不论是有线无线网络连接的,有时会出现无网络访问限权,也可能会碰到被网络管理员限制网络带宽、限制浏览等状况,这些操作一般都是针对ip地址实现的
16
2019-02
动态ip和拨号上网区别,选择哪种方式上网好
有时候我们在设置网络连接时,会遇到选择动态IP还是拨号上网,这动态ip和拨号上网区别在哪里?使用哪种方式上网更好呢?下面我们先来了解下关于动态ip和拨号上网的基本定义。
29
2019-01
高匿名代理可以隐藏IP,怎么通过ip地址查到对方地址呢
当我们想知道对方的地址时,通过IP来查是个不错的方法,那么如何查询呢?首先是,要知道对方的IP地址,可以通过一些方法来查到,比如邮件查询、日志查询、工具查询等。
15
2018-11
什么是外网IP和内网IP?动态IP是指内网还是外网
IP资源稀缺,家庭用户都是用动态IP上网,就连办公区都设置了内网,什么是内网,什么是外网呢?今天黑洞代理就以一张图为例子为大家介绍一下什么是外网IP和内网IP?
热门文章