TSE中网页搜集对应图4的左侧部分,我们将它细化为下图(图5)所示。网页搜集的过程是从URL库(初始时包含用户指定的起始种子URL集合,可以是1个或多个)获得输入,解析URL中标明的Web服务器地址、建立连接、发送请求和接收数据,将获得的网页数据存储在原始网页库,并从其中提取出链接信息放入网页结构库,同时将待抓取的URL放入URL库,保证整个过程的递归进行,直到URL库为空。

TSE 搜集网页

TSE 搜集网页

搜索引擎为了提供检索服务,需要保存网页原文。网页搜集子系统不但要能够获取以.html, .htm, .txt结尾的URL对应的网页(在本章后面的小节对于搜集信息类型会有更详细的阐述),还应该能够获取不是以.html结尾的URL,比如.pdf,.doc,因为.pdf,.doc等文件可以通过转换程序生成为.html或者.txt文件,同样为搜索引擎提供检索服务。作为搜索引擎的起始流程,搜集的网页要按照一定的格式存储,便于后续组织和提供服务。

传统应用的实现在系统结构定下来后,重点是确定其中的数据结构。而面向对象方法具有更好的特性,我们是采用C++面向对象的方法结合源代码讲述。针对系统实现的描述,依据重要名词定义为类的原则,重点讲解URL类和Page类。本章后续部分是把TSE中的搜集部分分解开来讲解,包括:定义URL类,定义Page类,与服务器建立连接,构造请求消息体并发送给服务器,获取服务器返回的网页元信息(或者称为网页头信息)和获取网页信息(或者称为网页体信息)。