__都非拉得的博客

Posted on 08 Sep 2015

爬虫设计

功能分析

功能模块

爬虫

URL管理和调度下载解析等

负责URL管理,也就是定向网站种子url,以及曾经抓过的所有url,可扩展存储网页指纹,历史抓取信息等

负责调度,根据你的抓取策略(定时、增量、随机等)从Seeder调取url生成抓取任务;

有多个,竞争得到抓取任务并专心下载,下载后内容传递给Collector;

有俩任务,解析html、搜集新链接,并把解析后的内容根据需要传递给索引系统和存储系统,把搜集的新连接传递给Seeder模块。

索引

用于全文检索

存储

解析后的内容和快照等

说明

  1. Seeder+Manager 负责长期目标:指定的下载策略控制,根据不同的适用场景可以由不同的算法;
  2. Harvester+Collector 负责短期目标:充分发挥计算机资源(CPU/Memory/IO/网络)完成下载和内容解析;

问题

相关算法

相关资料

  1. How to write a crawler
  2. Managing Gigabytes : Compressing and Indexing Documents and Images («海量数据管理 - 文档和图像的压缩与索引»), Morgan Kaufmann出版社出版

待续…