读DOM-based Content Extration of HTML Document
网页中,在文章主体的周围,经常包含一些杂乱信息,如广告、非必要的图像和链接等。从网页中提取有用的和相关的内容有很多应用,如移动电话、PDA浏览器和提取文章摘要等。常用的移除杂乱信息或者使内容更加可读的方法包括改变文字的大小、移除HTML中某些数据单元,如图像。从html网页中抽取内容的方法可以应用于公开可用的网络代理。
进行网页内容抽取时,首先将网页通过HTML解析器,将其解析为一颗DOM树,可以使用openXML作为HTML解析器,经过处理后,DOM文档可以在用户端作为一个HTML网页显示。这种方法现在已经实现结构化分析和结构化压缩,由Rahman、Buyukkokten和Kaasinen实现。DOM树是分层的,并且可以按照段落意义分析。文中使用一系列不同的过滤技术优化HTML,移除和优化一些特定的节点,最终只留下主体内容。
根据粒度可分为两种过滤器。一种过滤器只是忽略标签或者忽略标签特定的属性。这种过滤器可以很快把图像、链接、脚本和其它一些冗余元素从网页去除。这种过滤器的处理过程和Kaasinen提出的HTML到WML的转换很像。另一种过滤器相对来说比较复杂并且算法性较强,与HTML到WML的转换相比,它可以提供更高水平的内容抽取。文中对这种过滤器做了扩展,添加了广告移除器、链接移除器和空表移除器以及对被移除的链接的保存。
广告移除器使用一种有效的技术实现广告的移除。将网页解析成DOM树后,值保留属性“src”和“href”,以确保可以链接到的服务器。如果链接地址在常规广告服务器地址列表中,则将DOM树中包含此链接的节点移除,以此来去掉广告链接。
链接移除器使用一种过滤技术移除所有的链接列表,列表中链接单词的数量与非链接单词数量的比大于一个特定的门限值时将链接移除。当DOM过滤器遇到一个表格单元,链接移除器计算链接单词和非链接单词的数量。非链接单词的数量的计算方法为:(不包含在链接中的字符数 /每个单词的平均字符数),初始值为5.如果计算得到的值大于用户预先设定的移除比率,则当前表格单元的内容需要移除。这种方法在移除长链接列表方面是很成功的。
空表移除器移除那些不包含任何完整内容信息的表格。由用户确定哪些HTML标签可以被认为是一个完整内容,表格中需要有多少字母才可以作为一个完整内容。空表移除器在表格解析后确定一个表格是否可以作为一个完整内容。这个算法在移除前面包含少量不重要信息的浮在左侧的表格方面很有效。
前面的移除器从页面移除空内容,但是需要保存链接,移除链接的保存器将被移除的链接信息添加在文档的最后以保证页面可以被浏览。在DOM树解析完毕,被移除的链接添加在页面的底端。使用这种方法,前面移除的任何链接仍然是可达的。
当整个DOM树解析和更新完毕,DOM树可以以HTML或者格式简单的text显示。text的显示中,移除了所有的标签,只保存了标签内的内容,并忽略了大部分的空格。最终得到的结果是一个文本文档,只包含网页的主要内容,如摘要、发言稿或其他信息等。
使用上述方法进行网页内容解析的时间复杂度为:对于复杂大量的表格复杂度为O(N^2),一般情况下是O(N),N为DOM树节点的数目。
分享到:
相关推荐
本文介绍了一种基于DOM的Web信息提取方法,该方法利用归纳学习算法自动识别DOM树中的路径模式,并据此生成Java类。这种方法有效解决了传统手工编写包装器所带来的问题,包括高工作量、灵活性不足以及缺乏重用性等。...
在VB中实现基于DOM的Web信息自动抽取,可以借助MSXML或HTML Agility Pack等库来解析HTML文档,创建DOM树,并通过遍历和操作DOM节点来提取所需信息。 首先,我们需要理解DOM的核心概念。DOM将网页视为一系列的节点,...
PHP Simple HTML DOM Parser是一个轻量级且易于使用的库,它允许开发者像操作DOM对象一样方便地处理HTML文档,同时也支持jQuery风格的选择器,使得对HTML元素的操作更加直观。本文将详细讲解这个库的核心概念、功能...
### 基于多种策略的页面内容提取算法 #### 概述 随着互联网技术的快速发展,Web页面的数量呈指数级增长。在这种背景下,如何高效地从海量数据中筛选出有价值的信息变得尤为重要。针对这一需求,《基于多种策略的...
利用基于DOM的自动化网页内容提取方法,开发者可以创建智能系统,这些系统能够更高效地处理网络资源数据,提取有用信息,提高数据处理的准确性和效率。 在系统开发方面,该技术可以应用于多种场景,如搜索引擎优化...
在提取正文时,我们可以通过遍历DOM树来识别文本内容和非文本内容。 3. 网页正文特征:虽然网页正文通常位于特定的HTML标签内,但网页设计的多样性和复杂性使得正文内容的提取并非总是直观的。因此,研究网页正文...
在您提到的"Laravel开发-htmldom"主题中,我们将探讨如何在Laravel4中使用HTML DOM解析器来处理和操作HTML文档。 HTML DOM(Document Object Model)是HTML和XML文档的一种结构化表示,它将文档视为树形结构,允许...
提出基于DOM树和模板的文献信息提取方法,利用HTML标记间的嵌套关系将Web网页表示成一棵DOM树,将DOM树结构用于网页相似度的度量和自动分类,相似度高的网页应用同一模板进行信息提取。实验结果表明该方法在提取网络...
依据XML语言特点及噪声特征规则先对DOM树的噪声节点进行过滤删除,然后依据中文标点符号统计方法提取网页正文内容,并在此基础上利用行文本统计方法去除提取出的正文中存在的噪声信息,最后得到网页正文文本。...
通过迭代DOM树,我们可以轻松地遍历整个页面,提取所需信息。例如,以下代码展示了如何获取所有链接的href属性: ```php $links = $html->find('a'); foreach ($links as $link) { echo '链接: ' . $link->href . ...
网页正文提取算法一般需要考虑HTML文档的结构特点,通过分析DOM树,寻找标签和内容的特定模式来实现。 知识点三:FFT在网页正文提取中的应用 文件中提到的“基于FFT的网页正文提取算法”意味着研究者尝试将FFT这一...
jsdom将HTML字符串或文件解析成一个可操作的JavaScript对象结构,使得开发者可以在Node.js后端进行类似于前端JavaScript对网页内容的操作。 **Node.js**: 后端JavaScript运行环境 Node.js是一个开放源代码、跨平台...
SimpleHtmlDom库是PHP中的一款开源工具,它的主要功能是解析HTML文档并提供了一个DOM(Document Object Model)接口,使得开发者可以像操作XML一样方便地处理HTML内容。通过这个库,我们可以轻松实现对HTML元素的...
该技术的核心在于通过分析HTML文档对象模型(Document Object Model, DOM)树中的标签结构,确定一段文本是否属于正文信息。标记窗可以适应不同情况下网页正文的分布,包括但不限于以下几种场景: - **单个TD标签**...
4. **Document**:表示整个XML或HTML文档,是DOM树的根节点。 5. **Text**:表示元素内的文本。 6. **Comment**:表示文档中的注释。 7. **DocumentType**:表示文档类型声明。 8. **DocumentFragment**:表示文档...
它的基本思想是在网页文档对象模型(DOM)中定义一个“窗口”,通过分析窗口内的HTML标签和文本特征来判断某段文本是否属于正文。这种方法不仅适用于单个`<div>`标签内包含全部正文的情况,也能处理正文中包含多个`...