错误博客( cuowu.com )发布于 2019-06-10 18:42:58

文档信息源

文档信息源教程。

通常来讲,对于互联网信息采集或桌面信息采集,我们假定所有的文档都可以在任意的时间被创建或修改。然而,一些文档是出版物(published),也就是说,这些文档在某个时间被创建,并且几乎不再更新。新闻文章、博客帖子、通讯稿和电子邮件,都是属于出版物这种类型的文档。绝大多数对时间不敏感的信息都属于出版物。

每一个出版物文档都有一个与它关联的时间,来自同一个源头的出版物文档可以在一个文档信息源(document feed)的序列中得到。爬虫对文档信息源非常感兴趣,因为它可以通过仅检查信息源就发现所有的新文档。

我们可以区分两种类型的文档信息源,push和pull。当有新的文档产生时,push类型信息源会向订阅者发出通知。这类似于一台电话,当有来电时可以通知你,并不需要不停地查看电话以便知道是否有人打来电话。pull类型信息源需要订阅者周期地查看是否有新文档。这类似于为了查看是否有新邮件而对邮箱进行检查。来自商业新闻的新闻信息源通常属于push类型信息源,但对于那些无偿服务,pull类型信息源的使用更加普遍。在本节中,我们主要关注pull类型信息源。

pull类型信息源最常见的形式称为RSS。RSS至少有三个定义:简易信息聚合、RDF站点摘要或丰富站点摘要。毫无疑问,RSS有许多种略为不同的实现,并存在相似但不同的格式,称为Atom联合格式(Atom Syndication Format)。由于一个想法很快地被开发者接受,但他们并不满意单独的一个标准,因此导致了标准的扩展。

图3-9给出了 网站RSS源的一个示例。这个信息源包括两个内容:一个是关于即将召开的SIGIR会议的,另一个是关于一本教科书的。每个记录中含有一个时间,该时间指出该项记录所指示内容的出版时间。另外,在RSS源开始的地方,有一个tt1标签,表示存活时间(time to live),该时间以分钟为单位。该标签及其中的内容表示它的内容只缓存60分钟,超过一个小时的信息即被看作是过时的信息。这就给爬虫程序一个提示,这个信息源文件需要多久爬取一次。

RSS 2.0源的实例

RSS源可以像网页一样被存取,向保存它们的网络服务器发送 HTTP GET请求。由此,前面我们所讨论的信息采集技术也可以应用于RSS源,例如使用HTTP HEAD请求检测RSS源何时发生了变化。

从信息采集的角度来看,与传统页面相比,文档信息源具有很多的优点。信息源对数据给出了合理的结构,甚至超越了网站地图,网络信息源隐含着数据记录之间的某种关联。很容易就可以对信息源进行分析,而且和网站地图类似,信息源中包括详细的时间信息,还包括对每一个页面的描述域(描述域有的时候包括URL指向页面的全部文本)。最重要的是,类似于网站地图,信息源提供了一个单独的位置用于查找新的数据,而不是为了找到新的文档必须爬取整个站点。


2020年错误博客亲测项目系列

错误教程( cuowu.com )专注网推培训、SEO培训和网赚培训,微信/电话:13722793092

关注微信公众号:第一时间获得错误博客最新教程,让我们一起成长!

公众号二维码