第三章主要介绍了系统的需求分析,设计目标、设计原则以及软件的配置等。
第四章介绍了系统的总体设计,其中包括系统的功能设计和数据库设计。
第五章介绍了系统的详细设计和编码,讲述了系统的具体模块功能的实现等。
第六章全文总结。
2 系统概述
2.1 网络新闻采集定义
网络信息采集的基本含义是,通过或者为了网络传播而进行的信息采集。“通过”网络传播,其实是利用互联网络采集信息,究其结果是从传统大众传媒刊中传播出去。“为了”网络传播,其含义是,信息的采集是为了发布在网络上。
2.2 采集系统工作原理论文网
互联网上的页面基本上是通过超链接连接在一起,如果把网页看成一个节点,超链接看成路径,那么互联网看起来就像个蜘蛛网。采集系统的任务则是按照一定的爬行策略,沿着某一路径逐一访问各个节点,故采集系统又称为网络爬虫。
采集系统一般分为五大模块:URL队列、URL调度模块、抓取模块、解析模块、存储模块。
2.1.1 网页下载
超文本传输协议(HTTP)是目前互联网上最为广泛的网络传输协议之一,HTTP规定了客户端与Web服务器之间的通信规则,允许将HTML从Web服务器传送到客户端。
2.1.2 网页解析
超链接是互联网上的路径,采集系统要沿着这些路径来采集数据,这些路径一般存在HTML文档中,为了拿到这些路径,就需要去解析HTML文档。
超链接是以<a>标记开始,然后以</a>标记结束,一般包含一个URL以及一个锚文本,例如:<a href="http://jwc.njust.edu.cn/news.actiong?name=学生姓名">学生姓名</a>就是一个完整的超链接。
一个HTML文档中通常包含许多超链接,遍历一遍HTML文档就可以获取所有的超链接。但由于超链接有多种形式且规则灵活,通常仍需要对它们进行规范化处理。
2.1.3 URL去重文献综述
众所周知,互联网中的超链接数量庞大,在采集系统运行时,会遇到大量相同的URL,如何将这些重复的URL去掉,避免重复抓取同一个网页就是URL去重。
URL去重有以下几种常见方法:
(1)基于Hash表:这是最简单的方法,只需维护一个内存中的HashSet就能实现。对于任何一个新的URL,先检查在HashSet中是否存在,如果没有的话就把新的URL加入到HashSet中,同时也加入待采集的URL队列。
(2)基于压缩URL:因为内存是有限的,HashSet是没有实际使用价值的,但是可以通过压缩URL从而减少内存的消耗,而且MD5算法的碰撞几率比较小,在采集系统中是可以容忍的。
(3)基于Bloom Filter:以上两种方法都会随着URL数量的增长而消耗更多的内存,除非要抓取的URL比较少,亦或者内存足够大,否则终究会达到瓶颈。1970年Bloom 提出了Bloom Filter算法,其核心思想就是利用多个不相同的Hash函数来解决冲突。但是在使用Bloom Filter时会有一定的错误率,可能把未抓取过的URL认为是已抓取,如果在允许一定的错误率的情况下,这种方法可以大量节省内存。来.自/751论|文-网www.751com.cn/
2.1.4 工作流程
一般网络信息采集系统的工作流程为:注入种子URL,选择待采集URL,网页采
集,网页解析提取OutLink,更新URL队列。然后继续进入选择待采集URL阶段,一直迭代到结束。