手把手教你写网络爬虫(6):分布式爬虫

手把手教你写网络爬虫(6):分布式爬虫

作者:佚名 2018-05-22 15:30:30

开发

后端

分布式 对于分布式爬虫系统来说,假设1台机器能10天爬完一个任务,如果部署10台机器,那么1天就会完成这个任务。这样就用可以接受的成本,让系统的效率提高十倍。之前介绍的单机架构师达不到这种效果的,是时候介绍信的架构了!

十载的新巴尔虎左网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都营销网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整新巴尔虎左建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联公司从事“新巴尔虎左网站设计”,“新巴尔虎左网站推广”以来,每个客户项目都认真落实执行。

本系列:

  • 《手把手教你写网络爬虫(1):网易云音乐歌单》
  • 《手把手教你写网络爬虫(2):迷你爬虫架构》
  • 《手把手教你写网络爬虫(3):开源爬虫框架对比》
  • 《手把手教你写网络爬虫(4):Scrapy入门》
  • 《手把手教你写网络爬虫(5):PhantomJS实战》

笔者以前看过一个电影叫《Who Am I – No System Is Safe》,剧中的黑客老大“Who Am I”就用代理来隐藏自己,躲避FBI和其他黑客组织的追踪。

taskId:flag:crawler:info
Filed value 说明
totalCnt 10000 抓取的url总数:抓取完成,不管成功失败,都加1
failCnt 0 抓取的url失败数:抓取失败,加1
switch 1 任务状态:0:停止,1:启动,2:暂停,3:暂停启动
priority 1 任务优先级
retryCnt 0 重试次数
status 0 任务执行状态:1:进行中,2:完成
Ref 0 url引用数:每消费一个url,减1;生成一个url,加1。等于0则任务完成
maxThreadCnt 100 任务的***线程数
remainThreadCnt 10 剩余可用线程数
lastFetchTime 1496404451532 上一次抓取时间

taskId:flag:parser:info

Filed value 说明
totalCnt 10000 解析总数:解析完成,不管成功失败,都加1
failCnt 0 解析失败数:解析失败,加1
crawlerStatus 0 爬取状态:0:进行中,2:完成
ref 10 url引用数:crawler每保存一个网页,加1;parser每解析完成一个网页,减1。等于0不说明任务完成。若crawlerStatus等于2,ref等于0,则任务完成。

taskId:flag:filter:info

Filed value 说明
totalCnt 10000 清洗总数:清洗完成,不管成功失败,都加1
failCnt 0 清洗失败数:清洗失败,加1
crawlerStatus 0 解析状态:0:进行中,2:完成
ref 10 url引用数:parser每保存一条数据,加1;filter每清洗完成一条数据,减1。等于0不说明任务完成。若parserStatus等于2,ref等于0,则任务完成。

流程控制 – failover

如果一个Crawler_core的机器挂掉了,就会开始数据恢复程序,把这台机器所有未完成的任务恢复到公共缓存中。

网站名称:手把手教你写网络爬虫(6):分布式爬虫
转载来于:http://www.shufengxianlan.com/qtweb/news28/225378.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联