您当前的位置:首页 > 电脑百科 > 网络技术 > 网络技术

通过代理ip进行分布式爬虫的几种方案

时间:2019-11-05 11:56:29  来源:  作者:

如果不使用代理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的使用,更加的高效和稳定,保障了爬虫工作的持久性和稳定性。极光ip代理稳定可靠,亲测好用的哟,建议大家可以测试一下。



Tags:分布式爬虫   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
分布式爬虫管理平台Crawlab发现挺不错,但是官方文档中涉及二次开发的环境启动章节比较模糊。最先需要的是克隆代码https://github.com/nickliqian/crawlab前端部署1、安装nod...【详细内容】
2020-07-12  Tags: 分布式爬虫  点击:(91)  评论:(0)  加入收藏
如果不使用代理ip,爬虫工作必定无路可行,因此大部分爬虫工作者都会去购买安全稳定的代理ip。使用了高质量的代理ip后,会不会就能够无后顾之忧了呢?这个可不会这么容易,还要改进方案,有效分配资源,提升工作效率,又快速又稳定又...【详细内容】
2019-11-05  Tags: 分布式爬虫  点击:(88)  评论:(0)  加入收藏
▌简易百科推荐
写一个shell获取本机ip地址、网关地址以及dns信息。经常会遇到取本机ip、网关、dns地址,windows一个命令ipconfig /all全部获取到,但linux系统却并非如此。linux系统都自带ifc...【详细内容】
2021-12-27  K佬食古    Tags:shell   点击:(2)  评论:(0)  加入收藏
步骤1、配置 /etc/sysconfig/network-scripts/ifcfg-eth0 里的文件。it动力的CentOS下的ifcfg-eth0的配置详情:[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifc...【详细内容】
2021-12-24  忆梦如风    Tags:网卡   点击:(10)  评论:(0)  加入收藏
1、查找当前目录下所有以.tar结尾的文件然后移动到指定目录find . -name “*.tar” -execmv {}./backup/ ;注解:find –name 主要用于查找某个文件名字,-exec 、xargs可...【详细内容】
2021-12-17  郭主任    Tags:运维   点击:(20)  评论:(0)  加入收藏
对于经常上网的朋友来说,除了手机购物上网,pc端玩网页游戏还是很多小伙伴首选的,但是有时候明明宽带链接上了,打开浏览器却出现上不了网的现象,下面小编要来跟大家说说电脑有网络...【详细内容】
2021-12-16  小白系统    Tags:网页无法打开   点击:(28)  评论:(0)  加入收藏
在访问像github、gitlab这样的外国网站时,很有可能会出现页面加载不出来或找不到页面的错误。这时候有的朋友就会以为是网络的问题,于是把Wifi断掉连上自己手机的热点,结果却还...【详细内容】
2021-12-15  启施技术IT狼叔    Tags:外网   点击:(16)  评论:(0)  加入收藏
网络地址来源:获取公网IP地址 https://ipip.yy.com/get_ip_info.phphttp://pv.sohu.com/cityjson?ie=utf-8http://www.ip168.com/json.do?view=myipaddress...【详细内容】
2021-12-15  韦廷华12    Tags:外网ip   点击:(15)  评论:(0)  加入收藏
准备好软件IPOP、用ENSP模拟一下华为交换机 启动交换机 <Huawei>sysEnter system view, return user view with Ctrl+Z.[Huawei]sysname FTPClient[FTPClient]interface vla...【详细内容】
2021-12-15  思源Edward    Tags:交换机   点击:(24)  评论:(0)  加入收藏
我们经常用到netstat命令查看主机连接状况,包括连接ip、端口、状态等,今天就练习下shell分析netsat结果。描述假设netstat命令运行的结果我们存储在nowcoder.txt里,格式如下:Pro...【详细内容】
2021-12-14  K佬食古    Tags:netstat   点击:(19)  评论:(0)  加入收藏
什么是滑动窗口?窗口是操作系统开辟的一块缓存空间,发送方在收到接收方ACK应答之前,必须在缓冲区保留已发送的数据,如果按期收到确认应答,数据就可以从缓冲区移除。什么是滑动窗...【详细内容】
2021-12-14  DifferentJava    Tags:TCP   点击:(30)  评论:(0)  加入收藏
概述日常管理华为路由设备过程中,难为会忘记设备登录密码,那么该如何重置设备登录密码吗?本期文章将全面向各位小伙伴总结分享。重置华为设备登录密码思路先行 采用console登录...【详细内容】
2021-12-10  onme0    Tags:   点击:(27)  评论:(0)  加入收藏
相关文章
    无相关信息
最新更新
栏目热门
栏目头条