代理IP能够提高爬虫的效率,通过大量的真实IP切换,让爬虫工作能够不受到阻挡。所以,在爬虫开始之前,比程序编写更重要的就是找到代理IP。那么爬虫有多少种分布式结构呢?黑洞代理为大家带来以下分享。
方案一、每个进程从接口API中随机取一个IP来使用,失败则再调用API获取一个IP,大致逻辑如下:
1、每个进程,从接口随机取回一个ip来,用这个ip来浏览资源,
2、要是访问成功,则继续抓下一条。
3、要是失败了,再从接口随机取一个IP,继续尝试。
方案缺点:调用API获取IP的行为非常频繁,会对代理服务器造成特别大的压力,影响API接口稳定,可能会被限制提取。这类方案也不适合,无法持久稳定的运行。
方案二:先提取大量IP导入本地数据库,从数据库里面取IP,大致逻辑如下:
1、在数据库里面建一个表,写一个导入脚本,每分钟请求多少次API(咨询代理IP服务商建议)以飞蚁为例,单次提取数量在200个IP,间隔最快1秒,也就是说1分钟最快可以请求60次,把IP列表导入到数据库里面。
2、在数据库里面记录好 导入时间、IP、Port、过期时间、IP可用状态 等字段;
3、写一个抓取脚本,抓取脚本从数据库里面读取可用IP,每个进程从数据库获取一个IP进行使用。
4、执行抓取,对结果进行判断,处理cookie等,只要出现验证码或者失败就放弃这个IP,重新换一个IP。
方案三:每个进程从接口API中随机取一个IP列表来反复使用,失效后再调用API获取,大致逻辑是这样:
1、每个进程,从接口随机取回一批ip回来,反复试着ip目录去抓取数据;
2、要是访问成功,则继续抓取下一条。
3、要是失败了,再从接口取一批IP,继续尝试。
方案弊端:每个IP都是有期限的,要是提取了一百个,用到第二十个时,或许剩下的大多数都无法使用了。要是设置HTTP请求时连接时间超时是3秒,读取时间超时是5秒,那么或许会耗费3-8秒的时间,在这3-8秒内可能抓取了几百次了。
用代理IP爬虫的方案是需要根据网站来改变的,因为有的网站可能对反爬虫比较严格。
相关文章内容简介
1 代理IP分布式爬虫结构
代理IP能够提高爬虫的效率,通过大量的真实IP切换,让爬虫工作能够不受到阻挡。所以,在爬虫开始之前,比程序编写更重要的就是找到代理IP。那么爬虫有多少种分布式结构呢?黑洞代理为大家带来以下分享。 方案一、每个进程从接口API中随机取一个IP来使用,失败则再调用API获取一个IP,大致逻辑如下: 1、每个进程,从接口随机取回一个ip来,... [阅读全文]
最新标签
推荐阅读
31
2019-10
爬虫要怎么设计运行?
互联网时代,网络爬虫是常规操作了,比较常见的就有像搜索引擎蜘蛛,它通过每天抓取不同网站的信息,当用户进行搜索的时候,才能够进行返回有效信息。黑洞代理下面为大家介绍爬虫要怎
07
2019-11
正向代理、反向代理的对比
代理服务器可以分为正向代理、反向代理,使用的时候,大家可能感受不出来具体有什么不同。但是这两种其实存在不少差异,使用场景也不一样。
31
2019-10
Urllib库怎么使用?
用pyhton来进行爬虫是很多爬虫工作者的选择,大数据在各行各业都发挥着作用,企业也对数据分析给予更多的关注,黑洞代理今天给大家介绍Urllib库的使用。
31
2019-10
网络爬虫为什么会出现乱码?
代理IP让爬虫变得更加方便,降低了准入门槛,让很多人也开始学习如何编写爬虫程序。在爬虫的时候,会出现很多情况,黑洞代理跟大家分享当你的爬虫出现乱码如何解决。
热门文章
在线咨询
客户经理
公众号
关注公众号,免费领试用
大客户