CN110390038B - 基于dom树的页面分块方法、装置、设备及存储介质 - Google Patents
基于dom树的页面分块方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN110390038B CN110390038B CN201910675658.5A CN201910675658A CN110390038B CN 110390038 B CN110390038 B CN 110390038B CN 201910675658 A CN201910675658 A CN 201910675658A CN 110390038 B CN110390038 B CN 110390038B
- Authority
- CN
- China
- Prior art keywords
- node
- nodes
- dom tree
- similarity
- label
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/906—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9577—Optimising the visualization of content, e.g. distillation of HTML documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于DOM树的页面分块方法、装置、设备及存储介质,通过对待分块网页进行去噪处理,根据去噪后的网页生成DOM树;获取所述DOM树上各节点的节点路径,计算各节点路径的相似度,根据所述相似度对各节点进行聚类,并生成聚类结果;根据所述聚类结果对所述待分块网页进行分块,能够减少噪音内容对网页信息抽取的影响,提高了页面信息提取的准确性,并且能适应不同结构的网页,通用性和适应性较强,节省了信息抽取的时间,加快了信息抽取的速度和效率,提升了用户体验。
Description
技术领域
本发明涉及网页信息处理领域,尤其涉及一种基于DOM树的页面分块方法、装置、设备及存储介质。
背景技术
随着计算机在世界范围内的爆发式增长和普及,网络上产生了大量的数据信息,但是由于网络信息来源的异构性,想要浏览和搜索这些庞大的数据集就变得很困难;例如通过现有的搜索引擎存在以下问题:使用关键词检索出来的结果庞杂,包含关键词的网页的链接,需要单独浏览才能判断其是否满足需求;搜索时,只要包含关键词的都会检索出来,降低了信息的有效率,影响用户的获取;在检索关键词的同时,网页上伴随着大量的无用信息,如无关新闻、广告,影响用户的观感体验。
现有的解决方法是通过web信息抽取从大量的大型半结构化网页信息中抽取用户所需的信息,并将其转换为结构化形式以存储在硬盘或数据库中;但是由于大多数网页都没有严格标准化,由此产生的网页结构差异很大,一般的基于统计原理的抽取技术信息抽取准确率较低,通用性较差,而基于语义信息的抽取技术需要不停的对代码书写规则进行更新维护,信息抽取成本较高。
发明内容
本发明的主要目的在于提供一种基于DOM树的页面分块方法、装置、设备及存储介质,旨在解决现有技术中网页信息抽取存在抽取准确率较低,通用性较差,且信息抽取成本较高的技术问题。
为实现上述目的,本发明提供一种基于DOM树的页面分块方法,所述基于DOM树的页面分块方法包括以下步骤:
对待分块网页进行去噪处理,根据去噪后的网页生成DOM树;
获取所述DOM树上各节点的节点路径,计算各节点路径的相似度,根据所述相似度对各节点进行聚类,并生成聚类结果;
根据所述聚类结果对所述待分块网页进行分块。
优选地,所述对待分块网页进行去噪处理,根据去噪后的网页生成DOM树,具体包括:
根据预设网页清洗规则对待分块网页中的目标代码进行清洗,获得预设格式的HTML文档;
对所述HTML文档进行识别,获得所述HTML文档中的噪音标签;
将所述噪音标签从所述HTML文档中过滤,根据过滤后的HTML文档确定各节点,并根据各节点构建DOM树。
优选地,所述获取所述DOM树上各节点的节点路径,计算各节点路径的相似度,根据所述相似度对各节点进行聚类,并生成聚类结果,具体包括:
获取所述DOM树上各节点到根节点的路径,将各路径作为各节点路径;
获取各节点对应的标签信息,根据所述标签信息和各节点路径计算各节点路径的相似度;
根据各相似度对各节点进行聚类,并生成聚类结果。
优选地,所述获取各节点对应的标签信息,根据所述标签信息和各节点路径计算各节点路径的相似度,具体包括:
获取各节点对应的标签信息,对所述标签信息进行分析,获得公共标签长度和各节点的标签序列长度;
根据所述公共标签长度、所述标签序列长度和所述节点路径计算各节点路径的相似度。
优选地,所述根据所述公共标签长度、所述标签序列长度和所述节点路径计算各节点路径的相似度,具体包括:
从所述公共标签长度中筛选出任意两节点以根节点为起点的最长公共标签,将所述最长公共标签的长度作为目标公共标签长度;
通过下式根据所述目标公共标签长度、所述标签序列长度和所述节点路径计算各节点路径的相似度:
其中,sim(Pi,Pj)为两个节点路径Pi和Pj的相似度,节点i对应的节点路径为Pi,且Pi=(ti1,ti2,...,tin);节点j对应的节点路径为Pj,且Pj=(tj1,tj2,...,tjn);label(Pi,Pj)为所述目标公共标签长度,state(Pi,Pj)为两个节点路径Pi和Pj在位置上一样时的节点长度,len(Pi)和len(Pj)分别为节点路径Pi和Pj的的标签序列长度。
优选地,所述根据各相似度对各节点进行聚类,并生成聚类结果,具体包括:
获取各节点对应的各相似度之间的相似度差值;
将所述相似度差值与预设相似度阈值进行比较;
将所述相似度差值小于所述预设相似度阈值的节点路径对应的节点归为一类,直至各节点都聚类完毕,生成聚类结果。
优选地,所述根据所述聚类结果对所述待分块网页进行分块,具体包括:
根据所述聚类结果中的各类别分别对所述待分块网页进行划分,获得多个初始网页块;
判断所述聚类结果中各类别的节点中是否存在兄弟节点的节点;
在各类别的节点中存在兄弟节点的节点时,将互为兄弟节点的节点融合到同一网页块中,将融合后的网页块和未融合的初始网页块作为所述待分块网页的最终网页块。
此外,为实现上述目的,本发明还提出一种基于DOM树的页面分块设备,所述基于DOM树的页面分块设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于DOM树的页面分块程序,所述基于DOM树的页面分块程序配置为实现如上文所述的基于DOM树的页面分块方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有基于DOM树的页面分块程序,所述基于DOM树的页面分块程序被处理器执行时实现如上文所述的基于DOM树的页面分块方法的步骤。
此外,为实现上述目的,本发明还提供一种基于DOM树的页面分块装置,所述基于DOM树的页面分块装置包括:
去噪模块,用于对待分块网页进行去噪处理,根据去噪后的网页生成DOM树;
聚类模块,用于获取所述DOM树上各节点的节点路径,计算各节点路径的相似度,根据所述相似度对各节点进行聚类,并生成聚类结果;
分块模块,用于根据所述聚类结果对所述待分块网页进行分块。
本发明提出的基于DOM树的页面分块方法,通过对待分块网页进行去噪处理,根据去噪后的网页生成DOM树;获取所述DOM树上各节点的节点路径,计算各节点路径的相似度,根据所述相似度对各节点进行聚类,并生成聚类结果;根据所述聚类结果对所述待分块网页进行分块,能够减少噪音内容对网页信息抽取的影响,提高了页面信息提取的准确性,并且能适应不同结构的网页,通用性和适应性较强,节省了信息抽取的时间,加快了信息抽取的速度和效率,提升了用户体验。
附图说明
图1为本发明实施例方案涉及的硬件运行环境的基于DOM树的页面分块设备结构示意图;
图2为本发明基于DOM树的页面分块方法第一实施例的流程示意图;
图3为本发明基于DOM树的页面分块方法第二实施例的流程示意图;
图4为本发明基于DOM树的页面分块方法第三实施例的流程示意图;
图5为本发明基于DOM树的页面分块装置第一实施例的功能模块图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的解决方案主要是:本发明通过对待分块网页进行去噪处理,根据去噪后的网页生成DOM树;获取所述DOM树上各节点的节点路径,计算各节点路径的相似度,根据所述相似度对各节点进行聚类,并生成聚类结果;根据所述聚类结果对所述待分块网页进行分块,能够减少噪音内容对网页信息抽取的影响,提高了页面信息提取的准确性,并且能适应不同结构的网页,通用性和适应性较强,节省了信息抽取的时间,加快了信息抽取的速度和效率,提升了用户体验,解决了现有技术中网页信息抽取存在抽取准确率较低,通用性较差,且信息抽取成本较高的技术问题。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的基于DOM树的页面分块设备结构示意图。
如图1所示,该基于DOM树的页面分块设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(Wireless-Fidelity,Wi-Fi)。存储器1005可以是高速的随机存取存储器(Random AccessMemory,RAM)存储器,也可以是稳定的存储器(Non-volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的基于DOM树的页面分块设备结构并不构成对该基于DOM树的页面分块设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户端接口模块以及基于DOM树的页面分块程序。
本发明基于DOM树的页面分块设备通过处理器1001调用存储器1005中存储的基于DOM树的页面分块程序,并执行以下操作:
对待分块网页进行去噪处理,根据去噪后的网页生成DOM树;
获取所述DOM树上各节点的节点路径,计算各节点路径的相似度,根据所述相似度对各节点进行聚类,并生成聚类结果;
根据所述聚类结果对所述待分块网页进行分块。
进一步地,处理器1001可以调用存储器1005中存储的基于DOM树的页面分块程序,还执行以下操作:
根据预设网页清洗规则对待分块网页中的目标代码进行清洗,获得预设格式的HTML文档;
对所述HTML文档进行识别,获得所述HTML文档中的噪音标签;
将所述噪音标签从所述HTML文档中过滤,根据过滤后的HTML文档确定各节点,并根据各节点构建DOM树。
进一步地,处理器1001可以调用存储器1005中存储的基于DOM树的页面分块程序,还执行以下操作:
获取所述DOM树上各节点到根节点的路径,将各路径作为各节点路径;
获取各节点对应的标签信息,根据所述标签信息和各节点路径计算各节点路径的相似度;
根据各相似度对各节点进行聚类,并生成聚类结果。
进一步地,处理器1001可以调用存储器1005中存储的基于DOM树的页面分块程序,还执行以下操作:
获取各节点对应的标签信息,对所述标签信息进行分析,获得公共标签长度和各节点的标签序列长度;
根据所述公共标签长度、所述标签序列长度和所述节点路径计算各节点路径的相似度。
进一步地,处理器1001可以调用存储器1005中存储的基于DOM树的页面分块程序,还执行以下操作:
从所述公共标签长度中筛选出任意两节点以根节点为起点的最长公共标签,将所述最长公共标签的长度作为目标公共标签长度;
通过下式根据所述目标公共标签长度、所述标签序列长度和所述节点路径计算各节点路径的相似度:
其中,sim(Pi,Pj)为两个节点路径Pi和Pj的相似度,节点i对应的节点路径为Pi,且Pi=(ti1,ti2,...,tin);节点j对应的节点路径为Pj,且Pj=(tj1,tj2,...,tjn);label(Pi,Pj)为所述目标公共标签长度,state(Pi,Pj)为两个节点路径Pi和Pj在位置上一样时的节点长度,len(Pi)和len(Pj)分别为节点路径Pi和Pj的的标签序列长度。
进一步地,处理器1001可以调用存储器1005中存储的基于DOM树的页面分块程序,还执行以下操作:
获取各节点对应的各相似度之间的相似度差值;
将所述相似度差值与预设相似度阈值进行比较;
将所述相似度差值小于所述预设相似度阈值的节点路径对应的节点归为一类,直至各节点都聚类完毕,生成聚类结果。
进一步地,处理器1001可以调用存储器1005中存储的基于DOM树的页面分块程序,还执行以下操作:
根据所述聚类结果中的各类别分别对所述待分块网页进行划分,获得多个初始网页块;
判断所述聚类结果中各类别的节点中是否存在兄弟节点的节点;
在各类别的节点中存在兄弟节点的节点时,将互为兄弟节点的节点融合到同一网页块中,将融合后的网页块和未融合的初始网页块作为所述待分块网页的最终网页块。
本实施例通过上述方案,通过对待分块网页进行去噪处理,根据去噪后的网页生成DOM树;获取所述DOM树上各节点的节点路径,计算各节点路径的相似度,根据所述相似度对各节点进行聚类,并生成聚类结果;根据所述聚类结果对所述待分块网页进行分块,能够减少噪音内容对网页信息抽取的影响,提高了页面信息提取的准确性,并且能适应不同结构的网页,通用性和适应性较强,节省了信息抽取的时间,加快了信息抽取的速度和效率,提升了用户体验。
基于上述硬件结构,提出本发明基于DOM树的页面分块方法实施例。
参照图2,图2为本发明基于DOM树的页面分块方法第一实施例的流程示意图。
在第一实施例中,所述基于DOM树的页面分块方法包括以下步骤:
步骤S10、对待分块网页进行去噪处理,根据去噪后的网页生成DOM树。
需要说明的是,所述待分块网页为需要进行网页分块操作的网页,网页分块的目的是方便提取用户所需的信息,所述待分块网页中会存在不重要的信息,例如导航栏、广告以及版权信息等,这些信息即为噪音信息,这些噪音信息会给基于网页内容的研究工作带来困难,通过对所述待分块网页进行去噪处理,可以将这些噪音信息进行去除,根据去噪后的网页生成DOM树,文档对象模型(Document Object Model,DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口;在网页上,组织页面(或文档)的对象被组织在一个树形结构中,用来表示文档中对象的标准模型就称为DOM;通过DOM树能够了解各个节点之间的层级关系,节点的类型包括文档节点、元素节点、文本节点和属性节点等,当然还可以包括其他类型的节点,本实施例对此不加以限制。
步骤S20、获取所述DOM树上各节点的节点路径,计算各节点路径的相似度,根据所述相似度对各节点进行聚类,并生成聚类结果。
可以理解的是,所述节点路径为从根节点到每个叶子节点的一条路径,一般的,正文信息位于所述DOM树的叶子节点上,该叶子节点可以称为DOM文本节点,所述节点路径可以是通过先后顺序遍历DOM树中从根节点到每个叶子节点的路径的方式获取,当然还可以是通过其他方式获取,本实施例对此不加以限制。
在具体实现中,在DOM树结构中具有相似的节点路径的节点通常是同一类型的节点,也就是说正文信息之间的节点路径相似,噪音信息之间的节点路径相似,因此在获得了所述DOM树上各节点的节点路径后,可以通过计算各节点路径的相似度,根据所述相似度对各节点进行聚类,即将节点路径相似的节点分为同一类别。
步骤S30、根据所述聚类结果对所述待分块网页进行分块。
应当理解的是,通过所述聚类结果可以将同一类别的节点归为一类,进而根据不同的类别对所述待分块网页进行分块,为后续信息提取做准备。
进一步地,所述步骤S30具体包括以下步骤:
根据所述聚类结果中的各类别分别对所述待分块网页进行划分,获得多个初始网页块;
判断所述聚类结果中各类别的节点中是否存在兄弟节点的节点;
在各类别的节点中存在兄弟节点的节点时,将互为兄弟节点的节点融合到同一网页块中,将融合后的网页块和未融合的初始网页块作为所述待分块网页的最终网页块。
可以理解的是,通过所述聚类结果中的各类别可以将所述待分块网页划分为对应的块,即划分为多个初始网页块,而由于有可能存在有在兄弟节点的节点,此时可以将互为兄弟节点的节点融合到同一网页块中,方便后续信息提取的操作,进一步提升了信息提取的速度和效率。
本实施例通过上述方案,通过对待分块网页进行去噪处理,根据去噪后的网页生成DOM树;获取所述DOM树上各节点的节点路径,计算各节点路径的相似度,根据所述相似度对各节点进行聚类,并生成聚类结果;根据所述聚类结果对所述待分块网页进行分块,能够减少噪音内容对网页信息抽取的影响,提高了页面信息提取的准确性,并且能适应不同结构的网页,通用性和适应性较强,节省了信息抽取的时间,加快了信息抽取的速度和效率,提升了用户体验。
进一步地,图3为本发明基于DOM树的页面分块方法第二实施例的流程示意图,如图3所示,基于第一实施例提出本发明基于DOM树的页面分块方法第二实施例,在本实施例中,所述步骤S10,具体包括以下步骤:
步骤S11、根据预设网页清洗规则对待分块网页中的目标代码进行清洗,获得预设格式的HTML文档。
可以理解的是,所述预设网页清洗规则为预先设置的用于对所述待分块网页中的噪音信息进行初步清除的规则,所述预设网页清洗规则可以是将网页中杂乱、无用的部分代码清除,仅仅留下最基本的标签;可以将标签不成对的标签例如<br><img>等加上结束符“/”;将相应的标签属性进行删除,将Hidden类的标签进行删除;在标签不成对且没有开始或结束标签时添加使其对称的符号;对于空标签、脚本、内联代码、注释及 等进行删除;对于不正确的标签嵌套改成正确的嵌套标签;对于混乱的属性,按照超文本标记语言(Hyper Text Markup Language,HTML)标准,修改成规范的属性,还可以是修复或删除错误、不正确格式的标签及属性,例如图片缺少alt属性时加入等,当然也可以是其他网页清洗规则,本实施例对此不加以限制。
应当理解的是,所述目标代码为需要进行清理的杂乱无用的代码,所述预设格式为预先设置的一定格式,通过对所述待分块网页进行清洗,可以获得同一格式的HTML文档数据。
步骤S12、对所述HTML文档进行识别,获得所述HTML文档中的噪音标签。
需要说明的是,所述HTML文档中也会有很多与正文无关的代码,即不需要的标签,即噪音标签。
步骤S13、将所述噪音标签从所述HTML文档中过滤,根据过滤后的HTML文档确定各节点,并根据各节点构建DOM树。
可以理解的是,一般的公告和相关推荐对应的标签是用户在研究正文内容之前不需要的,需要将这类明显的噪音标签进行剔除,例如<select>,<form>,<textarea>,<img>,<object>,<a>等,剔除过滤这些噪音标签后,可以有效减少噪声对网页信息抽取的影响,通过将所述噪音标签从所述HTML文档中过滤后,可以获得过滤后的各节点,进而根据这些节点可以构建DOM树。
本实施例通过上述方案,通过根据预设网页清洗规则对待分块网页中的目标代码进行清洗,获得预设格式的HTML文档;对所述HTML文档进行识别,获得所述HTML文档中的噪音标签;将所述噪音标签从所述HTML文档中过滤,根据过滤后的HTML文档确定各节点,并根据各节点构建DOM树,可以有效减少噪音信息对正文有效信息抽取的干扰,进而加快信息提取的速度和效率,节省了信息抽取的时间,提升了用户体验。
进一步地,图4为本发明基于DOM树的页面分块方法第三实施例的流程示意图,如图4所示,基于第二实施例提出本发明基于DOM树的页面分块方法第三实施例,在本实施例中,所述步骤S20具体包括以下步骤:
步骤S21、获取所述DOM树上各节点到根节点的路径,将各路径作为各节点路径。
需要说明的是,所述DOM树上存在一个根节点和多个子节点,也即叶子节点,各节点到所述根节点的路径即作为节点路径,不同的DOM树结构的不同会导致不同的节点路径。
步骤S22、获取各节点对应的标签信息,根据所述标签信息和各节点路径计算各节点路径的相似度。
应当理解的是,不同的节点有对应的标签信息,通过所述标签信息和各节点路径可以确定各节点路径的相似度,一般的可以通过路径标签序列相似度和标签位置相似度来表示路径之间的相似度,当然也可以通过其他方式计算各节点路径的相似度,本实施例对此不加以限制。
进一步地,所述步骤S22具体包括以下步骤:
获取各节点对应的标签信息,对所述标签信息进行分析,获得公共标签长度和各节点的标签序列长度;
根据所述公共标签长度、所述标签序列长度和所述节点路径计算各节点路径的相似度。
可以理解的是,所述标签信息为各节点对应的标签的相关信息,通过对所述标签信息进行分析,可以获得公共标签长度以及各节点的标签序列长度,所述公共标签长度为任意两条节点路径以根节点为起点的公共标签的长度,所述标签序列长度为各节点对应的标签序列的长度;通过所述公共标签长度、所述标签序列长度和所述节点路径计算各节点路径的相似度。
进一步地,所述步骤根据所述公共标签长度、所述标签序列长度和所述节点路径计算各节点路径的相似度,具体包括以下步骤:
从所述公共标签长度中筛选出任意两节点以根节点为起点的最长公共标签,将所述最长公共标签的长度作为目标公共标签长度;
通过下式根据所述目标公共标签长度、所述标签序列长度和所述节点路径计算各节点路径的相似度:
其中,sim(Pi,Pj)为两个节点路径Pi和Pj的相似度,节点i对应的节点路径为Pi,且Pi=(ti1,ti2,...,tin);节点j对应的节点路径为Pj,且Pj=(tj1,tj2,...,tjn);label(Pi,Pj)为所述目标公共标签长度,state(Pi,Pj)为两个节点路径Pi和Pj在位置上一样时的节点长度,len(Pi)和len(Pj)分别为节点路径Pi和Pj的标签序列长度。
需要说明的是,各节点路径的相似度可以用来初步区分正文信息和噪音信息;所述目标公共标签长度为任意两节点以根节点为起点的最长公共标签的长度,通过上述公式可以算出任意两节点的相似度,进而确定各节点路径的相似度,当然也可以通过其他方式计算各节点路径的相似度,进而为后续网页分块做准备,本实施例对此不加以限制。
步骤S23、根据各相似度对各节点进行聚类,并生成聚类结果。
可以理解的是,不同的相似度对应各节点的相关联程度,相似度越低则节点之间的相关联程度越低,相似度越高则节点之间的相关联程度越高,通过各相似度可以将相似的节点归为一类,进而生成对应的聚类结果。
进一步地,所述步骤S23具体包括以下步骤:
获取各节点对应的各相似度之间的相似度差值;
将所述相似度差值与预设相似度阈值进行比较;
将所述相似度差值小于所述预设相似度阈值的节点路径对应的节点归为一类,直至各节点都聚类完毕,生成聚类结果。
可以理解的是,所述预设相似度阈值为预先设置的用于判断各节点路径的相似度是否类似的相似度阈值,通过计算各相似度之间的相似度差值,可以确定各相似度对应的节点路径所对应的节点的相似度是否较小,如果较小则表明这些节点的信息类似,可以作为同一类别,通过将各节点都聚类完毕,可以获得相应的聚类结果;在具体实现中,以区分正文与非正文为例,正文与非正文的临界值为0.7,预设相似度阈值可以设置为0.7,当然也可以设置为其他数值,本实施例对此不加以限制。
本实施例通过上述方案,通过获取所述DOM树上各节点到根节点的路径,将各路径作为各节点路径;获取各节点对应的标签信息,根据所述标签信息和各节点路径计算各节点路径的相似度;根据各相似度对各节点进行聚类,并生成聚类结果,能够提高网页分块的准确性和通用性,并且能适应不同结构的网页,通用性和适应性较强,节省了信息抽取的时间,加快了信息抽取的速度和效率,提升了用户体验。
基于上述基于DOM树的页面分块方法的实施例,本发明进一步提供一种基于DOM树的页面分块装置。
参照图5,图5为本发明基于DOM树的页面分块装置第一实施例的功能模块图。
本发明基于DOM树的页面分块装置第一实施例中,该基于DOM树的页面分块装置包括:
去噪模块10,用于对待分块网页进行去噪处理,根据去噪后的网页生成DOM树。
需要说明的是,所述待分块网页为需要进行网页分块操作的网页,网页分块的目的是方便提取用户所需的信息,所述待分块网页中会存在不重要的信息,例如导航栏、广告以及版权信息等,这些信息即为噪音信息,这些噪音信息会给基于网页内容的研究工作带来困难,通过对所述待分块网页进行去噪处理,可以将这些噪音信息进行去除,根据去噪后的网页生成DOM树,文档对象模型(Document Object Model,DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口;在网页上,组织页面(或文档)的对象被组织在一个树形结构中,用来表示文档中对象的标准模型就称为DOM;通过DOM树能够了解各个节点之间的层级关系,节点的类型包括文档节点、元素节点、文本节点和属性节点等,当然还可以包括其他类型的节点,本实施例对此不加以限制。
聚类模块20,用于获取所述DOM树上各节点的节点路径,计算各节点路径的相似度,根据所述相似度对各节点进行聚类,并生成聚类结果。
可以理解的是,所述节点路径为从根节点到每个叶子节点的一条路径,一般的,正文信息位于所述DOM树的叶子节点上,该叶子节点可以称为DOM文本节点,所述节点路径可以是通过先后顺序遍历DOM树中从根节点到每个叶子节点的路径的方式获取,当然还可以是通过其他方式获取,本实施例对此不加以限制。
在具体实现中,在DOM树结构中具有相似的节点路径的节点通常是同一类型的节点,也就是说正文信息之间的节点路径相似,噪音信息之间的节点路径相似,因此在获得了所述DOM树上各节点的节点路径后,可以通过计算各节点路径的相似度,根据所述相似度对各节点进行聚类,即将节点路径相似的节点分为同一类别。
分块模块30,用于根据所述聚类结果对所述待分块网页进行分块。
应当理解的是,通过所述聚类结果可以将同一类别的节点归为一类,进而根据不同的类别对所述待分块网页进行分块,为后续信息提取做准备。
其中,基于DOM树的页面分块装置的各个功能模块实现的步骤可参照本发明基于DOM树的页面分块方法的各个实施例,此处不再赘述。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有基于DOM树的页面分块程序,所述基于DOM树的页面分块程序被处理器执行时实现如下操作:
对待分块网页进行去噪处理,根据去噪后的网页生成DOM树;
获取所述DOM树上各节点的节点路径,计算各节点路径的相似度,根据所述相似度对各节点进行聚类,并生成聚类结果;
根据所述聚类结果对所述待分块网页进行分块。
进一步地,所述基于DOM树的页面分块程序被处理器执行时还实现如下操作:
根据预设网页清洗规则对待分块网页中的目标代码进行清洗,获得预设格式的HTML文档;
对所述HTML文档进行识别,获得所述HTML文档中的噪音标签;
将所述噪音标签从所述HTML文档中过滤,根据过滤后的HTML文档确定各节点,并根据各节点构建DOM树。
进一步地,所述基于DOM树的页面分块程序被处理器执行时还实现如下操作:
获取所述DOM树上各节点到根节点的路径,将各路径作为各节点路径;
获取各节点对应的标签信息,根据所述标签信息和各节点路径计算各节点路径的相似度;
根据各相似度对各节点进行聚类,并生成聚类结果。
进一步地,所述基于DOM树的页面分块程序被处理器执行时还实现如下操作:
获取各节点对应的标签信息,对所述标签信息进行分析,获得公共标签长度和各节点的标签序列长度;
根据所述公共标签长度、所述标签序列长度和所述节点路径计算各节点路径的相似度。
进一步地,所述基于DOM树的页面分块程序被处理器执行时还实现如下操作:
从所述公共标签长度中筛选出任意两节点以根节点为起点的最长公共标签,将所述最长公共标签的长度作为目标公共标签长度;
通过下式根据所述目标公共标签长度、所述标签序列长度和所述节点路径计算各节点路径的相似度:
其中,sim(Pi,Pj)为两个节点路径Pi和Pj的相似度,节点i对应的节点路径为Pi,且Pi=(ti1,ti2,...,tin);节点j对应的节点路径为Pj,且Pj=(tj1,tj2,...,tjn);label(Pi,Pj)为所述目标公共标签长度,state(Pi,Pj)为两个节点路径Pi和Pj在位置上一样时的节点长度,len(Pi)和len(Pj)分别为节点路径Pi和Pj的的标签序列长度。
进一步地,所述基于DOM树的页面分块程序被处理器执行时还实现如下操作:
获取各节点对应的各相似度之间的相似度差值;
将所述相似度差值与预设相似度阈值进行比较;
将所述相似度差值小于所述预设相似度阈值的节点路径对应的节点归为一类,直至各节点都聚类完毕,生成聚类结果。
进一步地,所述基于DOM树的页面分块程序被处理器执行时还实现如下操作:
根据所述聚类结果中的各类别分别对所述待分块网页进行划分,获得多个初始网页块;
判断所述聚类结果中各类别的节点中是否存在兄弟节点的节点;
在各类别的节点中存在兄弟节点的节点时,将互为兄弟节点的节点融合到同一网页块中,将融合后的网页块和未融合的初始网页块作为所述待分块网页的最终网页块。
本实施例通过上述方案,通过对待分块网页进行去噪处理,根据去噪后的网页生成DOM树;获取所述DOM树上各节点的节点路径,计算各节点路径的相似度,根据所述相似度对各节点进行聚类,并生成聚类结果;根据所述聚类结果对所述待分块网页进行分块,能够减少噪音内容对网页信息抽取的影响,提高了页面信息提取的准确性,并且能适应不同结构的网页,通用性和适应性较强,节省了信息抽取的时间,加快了信息抽取的速度和效率,提升了用户体验。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (7)
1.一种基于DOM树的页面分块方法,其特征在于,所述基于DOM树的页面分块方法包括:
对待分块网页进行去噪处理,根据去噪后的网页生成DOM树;
获取所述DOM树上各节点的节点路径,计算各节点路径的相似度,根据所述相似度对各节点进行聚类,并生成聚类结果;
根据所述聚类结果对所述待分块网页进行分块;
其中,所述获取所述DOM树上各节点的节点路径,计算各节点路径的相似度,根据所述相似度对各节点进行聚类,并生成聚类结果,具体包括:
获取所述DOM树上各节点到根节点的路径,将各路径作为各节点路径;
获取各节点对应的标签信息,根据所述标签信息和各节点路径计算各节点路径的相似度;
根据各相似度对各节点进行聚类,并生成聚类结果;
其中,所述获取各节点对应的标签信息,根据所述标签信息和各节点路径计算各节点路径的相似度,具体包括:
获取各节点对应的标签信息,对所述标签信息进行分析,获得公共标签长度和各节点的标签序列长度;
根据所述公共标签长度、所述标签序列长度和所述节点路径计算各节点路径的相似度;
其中,所述根据所述公共标签长度、所述标签序列长度和所述节点路径计算各节点路径的相似度,具体包括:
从所述公共标签长度中筛选出任意两节点以根节点为起点的最长公共标签,将所述最长公共标签的长度作为目标公共标签长度;
通过下式根据所述目标公共标签长度、所述标签序列长度和所述节点路径计算各节点路径的相似度:
其中,sim(Pi,Pj)为两个节点路径Pi和Pj的相似度,节点i对应的节点路径为Pi,且Pi=(ti1,ti2,...,tin);节点j对应的节点路径为Pj,且Pj=(tj1,tj2,...,tjn);label(Pi,Pj)为所述目标公共标签长度,state(Pi,Pj)为两个节点路径Pi和Pj在位置上一样时的节点长度,len(Pi)和len(Pj)分别为节点路径Pi和Pj的标签序列长度。
2.如权利要求1所述的基于DOM树的页面分块方法,其特征在于,所述对待分块网页进行去噪处理,根据去噪后的网页生成DOM树,具体包括:
根据预设网页清洗规则对待分块网页中的目标代码进行清洗,获得预设格式的HTML文档;
对所述HTML文档进行识别,获得所述HTML文档中的噪音标签;
将所述噪音标签从所述HTML文档中过滤,根据过滤后的HTML文档确定各节点,并根据各节点构建DOM树。
3.如权利要求1所述的基于DOM树的页面分块方法,其特征在于,所述根据各相似度对各节点进行聚类,并生成聚类结果,具体包括:
获取各节点对应的各相似度之间的相似度差值;
将所述相似度差值与预设相似度阈值进行比较;
将所述相似度差值小于所述预设相似度阈值的节点路径对应的节点归为一类,直至各节点都聚类完毕,生成聚类结果。
4.如权利要求1-3中任一项所述的基于DOM树的页面分块方法,其特征在于,所述根据所述聚类结果对所述待分块网页进行分块,具体包括:
根据所述聚类结果中的各类别分别对所述待分块网页进行划分,获得多个初始网页块;
判断所述聚类结果中各类别的节点中是否存在兄弟节点的节点;
在各类别的节点中存在兄弟节点的节点时,将互为兄弟节点的节点融合到同一网页块中,将融合后的网页块和未融合的初始网页块作为所述待分块网页的最终网页块。
5.一种基于DOM树的页面分块装置,其特征在于,所述装置包括:
去噪模块,用于对待分块网页进行去噪处理,根据去噪后的网页生成DOM树;
聚类模块,用于获取所述DOM树上各节点的节点路径,计算各节点路径的相似度,根据所述相似度对各节点进行聚类,并生成聚类结果;
分块模块,用于根据所述聚类结果对所述待分块网页进行分块;
其中,所述聚类模块,还用于:
获取所述DOM树上各节点到根节点的路径,将各路径作为各节点路径;
获取各节点对应的标签信息,根据所述标签信息和各节点路径计算各节点路径的相似度;
根据各相似度对各节点进行聚类,并生成聚类结果;
其中,所述聚类模块,还用于:
获取各节点对应的标签信息,对所述标签信息进行分析,获得公共标签长度和各节点的标签序列长度;
根据所述公共标签长度、所述标签序列长度和所述节点路径计算各节点路径的相似度;
其中,所述聚类模块,还用于:
从所述公共标签长度中筛选出任意两节点以根节点为起点的最长公共标签,将所述最长公共标签的长度作为目标公共标签长度;
通过下式根据所述目标公共标签长度、所述标签序列长度和所述节点路径计算各节点路径的相似度:
其中,sim(Pi,Pj)为两个节点路径Pi和Pj的相似度,节点i对应的节点路径为Pi,且Pi=(ti1,ti2,...,tin);节点j对应的节点路径为Pj,且Pj=(tj1,tj2,...,tjn);label(Pi,Pj)为所述目标公共标签长度,state(Pi,Pj)为两个节点路径Pi和Pj在位置上一样时的节点长度,len(Pi)和len(Pj)分别为节点路径Pi和Pj的标签序列长度。
6.一种基于DOM树的页面分块设备,其特征在于,所述基于DOM树的页面分块设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于DOM树的页面分块程序,所述基于DOM树的页面分块程序配置为实现如权利要求1至4中任一项所述的基于DOM树的页面分块方法的步骤。
7.一种存储介质,其特征在于,所述存储介质上存储有基于DOM树的页面分块程序,所述基于DOM树的页面分块程序被处理器执行时实现如权利要求1至4中任一项所述的基于DOM树的页面分块方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910675658.5A CN110390038B (zh) | 2019-07-25 | 2019-07-25 | 基于dom树的页面分块方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910675658.5A CN110390038B (zh) | 2019-07-25 | 2019-07-25 | 基于dom树的页面分块方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110390038A CN110390038A (zh) | 2019-10-29 |
CN110390038B true CN110390038B (zh) | 2021-10-15 |
Family
ID=68287299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910675658.5A Active CN110390038B (zh) | 2019-07-25 | 2019-07-25 | 基于dom树的页面分块方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110390038B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111314109A (zh) * | 2020-01-15 | 2020-06-19 | 太原理工大学 | 一种基于弱密钥的大规模物联网设备固件识别方法 |
CN111831874B (zh) * | 2020-07-16 | 2022-08-19 | 深圳赛安特技术服务有限公司 | 网页数据信息获取方法、装置、计算机设备及存储介质 |
CN111913693B (zh) * | 2020-07-30 | 2023-11-14 | 北京数立得科技有限公司 | 一种服务接口子类模板确定方法与系统 |
CN112182319B (zh) * | 2020-09-23 | 2024-03-26 | 中国建设银行股份有限公司 | 网页相似度确定方法、网页聚类方法、装置及电子设备 |
CN112347332A (zh) * | 2020-11-17 | 2021-02-09 | 南开大学 | 一种基于XPath的爬虫目标定位方法 |
CN112732994B (zh) * | 2021-01-07 | 2022-01-28 | 上海携宁计算机科技股份有限公司 | 网页信息的提取方法、装置、设备及存储介质 |
CN113486228B (zh) * | 2021-07-02 | 2022-05-10 | 燕山大学 | 基于md5三叉树和改进birch算法的互联网论文数据自动抽取算法 |
CN113485782B (zh) * | 2021-07-29 | 2024-08-06 | 北京百度网讯科技有限公司 | 页面数据获取方法、装置、电子设备及介质 |
CN114329138A (zh) * | 2021-12-24 | 2022-04-12 | 奇安信科技集团股份有限公司 | 网页信息抽取方法、装置、电子设备及存储介质 |
CN115982443B (zh) * | 2023-03-17 | 2023-07-18 | 杭州实在智能科技有限公司 | 基于视觉分析的屏幕页面结构解析与路径存储方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473338A (zh) * | 2013-09-22 | 2013-12-25 | 北京奇虎科技有限公司 | 网页内容抽取方法和网页内容抽取系统 |
CN103530429A (zh) * | 2013-11-04 | 2014-01-22 | 北京中搜网络技术股份有限公司 | 一种网页正文抽取的方法 |
CN103544176A (zh) * | 2012-07-13 | 2014-01-29 | 百度在线网络技术(北京)有限公司 | 用于生成多个页面所对应的页面结构模板的方法和设备 |
CN103559199A (zh) * | 2013-09-29 | 2014-02-05 | 北京航空航天大学 | 网页信息抽取方法和装置 |
CN103714176A (zh) * | 2014-01-08 | 2014-04-09 | 同济大学 | 基于最大文本密度的网页正文抽取方法 |
CN104504086A (zh) * | 2014-12-25 | 2015-04-08 | 北京国双科技有限公司 | 网页页面的聚类方法和装置 |
CN104572934A (zh) * | 2014-12-29 | 2015-04-29 | 西安交通大学 | 一种基于dom的网页关键内容抽取方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7765236B2 (en) * | 2007-08-31 | 2010-07-27 | Microsoft Corporation | Extracting data content items using template matching |
-
2019
- 2019-07-25 CN CN201910675658.5A patent/CN110390038B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103544176A (zh) * | 2012-07-13 | 2014-01-29 | 百度在线网络技术(北京)有限公司 | 用于生成多个页面所对应的页面结构模板的方法和设备 |
CN103473338A (zh) * | 2013-09-22 | 2013-12-25 | 北京奇虎科技有限公司 | 网页内容抽取方法和网页内容抽取系统 |
CN103559199A (zh) * | 2013-09-29 | 2014-02-05 | 北京航空航天大学 | 网页信息抽取方法和装置 |
CN103530429A (zh) * | 2013-11-04 | 2014-01-22 | 北京中搜网络技术股份有限公司 | 一种网页正文抽取的方法 |
CN103714176A (zh) * | 2014-01-08 | 2014-04-09 | 同济大学 | 基于最大文本密度的网页正文抽取方法 |
CN104504086A (zh) * | 2014-12-25 | 2015-04-08 | 北京国双科技有限公司 | 网页页面的聚类方法和装置 |
CN104572934A (zh) * | 2014-12-29 | 2015-04-29 | 西安交通大学 | 一种基于dom的网页关键内容抽取方法 |
Non-Patent Citations (3)
Title |
---|
Layout-Tree-based Approach for Identifying Visually Similar Blocks in a Web Page;Jun Zeng;《 2013 IEEE/ACIS 12th International Conference on Computer and Information Science (ICIS)》;20130926;全文 * |
一种基于网页块特征的多级网页聚类方法;范意兴;《山东大学学报理学版》;20150731;第50卷(第7期);全文 * |
基于网页DOM 树节点路径相似度的正文抽取;潘心宇;《技术与方法》;20161031;第35卷(第19期);74-77 * |
Also Published As
Publication number | Publication date |
---|---|
CN110390038A (zh) | 2019-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110390038B (zh) | 基于dom树的页面分块方法、装置、设备及存储介质 | |
CN108920434B (zh) | 一种通用的网页主题内容提取方法和系统 | |
US6912555B2 (en) | Method for content mining of semi-structured documents | |
US8239387B2 (en) | Structural clustering and template identification for electronic documents | |
US20090248707A1 (en) | Site-specific information-type detection methods and systems | |
US20150067476A1 (en) | Title and body extraction from web page | |
CN109543126B (zh) | 基于块文字占比的网页正文信息提取方法 | |
CN110377796B (zh) | 基于dom树的正文抽取方法、装置、设备及存储介质 | |
Manabe et al. | Extracting logical hierarchical structure of HTML documents based on headings | |
JP2006004417A (ja) | 情報ファイルの特定のタイプを認識する方法及び装置 | |
CN104268148A (zh) | 一种基于时间串的论坛页面信息自动抽取方法及系统 | |
CN109165373B (zh) | 一种数据处理方法及装置 | |
Cardoso et al. | An efficient language-independent method to extract content from news webpages | |
CN112818200A (zh) | 基于静态网站的数据爬取及事件分析方法及系统 | |
CN112232075A (zh) | 基于时间格式和网页元素特征的文章发布时间识别方法 | |
CN110390037B (zh) | 基于dom树的信息分类方法、装置、设备及存储介质 | |
CN105550359A (zh) | 一种基于垂直搜索的网页排序方法、装置及服务器 | |
Devika et al. | An overview of web data extraction techniques | |
CN106372232B (zh) | 基于人工智能的信息挖掘方法和装置 | |
CN115270723A (zh) | Pdf文档拆分方法、装置、设备及存储介质 | |
CN114818680A (zh) | 一种网页正文的识别方法、装置及相关设备 | |
CN111061975B (zh) | 一种页面中无关内容的处理方法、装置 | |
CN106897287B (zh) | 网页发布时间抽取方法和用于网页发布时间抽取的装置 | |
CN115391711B (zh) | 网页正文信息提取方法、装置、设备及介质 | |
CN115796146A (zh) | 一种文件对比方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |