注意:这篇文章主要是关于怎样设计C++爬虫代码框架,具体实现还是得自己去开发,希望大家能有所收获。
1.关于项目
需求、设计、编码、测试、集成
2.软件开发要掌握的思想
模块思维
渐进式开发
3.需求:
自动抓取网络资源的软件
1.资源是什么?网页、图片、音乐、图片…
2.自动化?一旦运行就不需要更多的干预。
生成需求说明文档。
内容:对于需求中不明确或不完善的说明进行解释
4.设计:
业务设计:从顶层开始思考设计,避免过早的陷入细节
设计处理流程:
1.得到爬取种子(URL)
2.根据爬取种子下载资源(页面)
3.解析页面,提取更多的URL
4.对页面做持久化操作
5.根据提取的URL再进行下载操作
6.重复第2步到第5步
系统设计:
控制器:
控制器由三个模块组成:
1、配置文件处理模块:从配置文件中读取配置项,提供配置香的提取接口
2、URL维护模块:负责维护URL库,提供如下功能
a>输入新的URL
b>输出未抓取的URL
c>负责维护URL的抓取状态
3、任务调度模块
a>负责协调控制器的流程
b>负责调用其他系统模块完成工作
4、维护URL列表数据结构
下载器: