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

作者: QingLeiLi | 来源:发表于2018-06-06 22:38 被阅读2次

    警告!警告!警告!前方图片高能预警!土豪随意~

    image 公众号PythonEco 公众号PythonEco 公众号PythonEco 公众号PythonEco

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

    PythonEco啊 公众号PythonEco 公众号PythonEco 公众号PythonEco 公众号PythonEco PythonEco啊 公众号PythonEco 公众号PythonEco

    | 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的机器挂掉了,就会开始数据恢复程序,把这台机器所有未完成的任务恢复到公共缓存中。

    公众号PythonEco 公众号PythonEco

    到此网络爬虫就更新完了~想更深入免费看直播学Python看个人主页哦!

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/rqoisftx.html