为什么要干这个事情
工作中,多次碰到要抓取一些网页,
这些年来,写了很多这种零散的代码,苦于没有形成一个稳定的程序,
多次做重复工作,没有意义,
现在终于闲下来了(都是经济危机惹的祸),
是时候把这些代码提炼一下了,
想做一个通用的采集程序,或者叫爬虫程序,真是不容易,工作量还是相当大的;
设计目标和技术难点
简单的想一想,主要包括一下几个方面的难点:
1. 爬行目标定义,定义入口,爬行规则
2. 爬虫输出
a. 网页文本输出
b. 网页数据输出,即将网页文本解析,输出结构化的数据,供后序程序处理(是个难点)
3. 多线程采集方式
4. 分布式采集方式:多台主机同时采集一个网站,任务在不同主机之间调度
5. 对需要登陆的网站,需要模拟Cookie(Session)
6. 对采集过的网站保持更新(也是个难点)
开发环境
1. 开发环境和执行环境都是windows
2. 采用oracle数据库
3. 采用Delphi开发(Delphi限制了要用windows环境执行,kylix不考虑了)
真的要下决心做了,要考虑的事情还真不少,过两天写一个概要分析,把思路好好整理下;