CN109144513B - 一种自动抽取列表页的方法 - Google Patents

一种自动抽取列表页的方法 Download PDF

Info

Publication number
CN109144513B
CN109144513B CN201810959317.6A CN201810959317A CN109144513B CN 109144513 B CN109144513 B CN 109144513B CN 201810959317 A CN201810959317 A CN 201810959317A CN 109144513 B CN109144513 B CN 109144513B
Authority
CN
China
Prior art keywords
node
list page
nodes
extracting
list
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
Application number
CN201810959317.6A
Other languages
English (en)
Other versions
CN109144513A (zh
Inventor
庞一文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Jiadao Information Technology Co ltd
Original Assignee
Shanghai Jiadao Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Jiadao Information Technology Co ltd filed Critical Shanghai Jiadao Information Technology Co ltd
Priority to CN201810959317.6A priority Critical patent/CN109144513B/zh
Publication of CN109144513A publication Critical patent/CN109144513A/zh
Application granted granted Critical
Publication of CN109144513B publication Critical patent/CN109144513B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种自动抽取列表页的方法,包括以下步骤:将网页源码解析成dom树;提取dom树中带有文字的元素节点路径;元素节点的位置信息打分和滤除;提取节点的相似指纹;提取节点块的深度指纹;提取标题和地址链接的相似指纹;抽取列表页,将封装结果返回。本发明能够适用于大量的互联网网站列表页抽取,对大量列表页都具有普适性,因此即使出现了网站改版,基于网页结构的抽取方式依旧可以生效,节省了重新编写抽取规则和维护规则所产生来的时间成本和人力成本。在基于网页的结构抽取算法中,还增加了网页上元素的位置像素信息作为特征,更加符合人对于列表页的感官判断,使得抽取结果更加符合目标。

Description

一种自动抽取列表页的方法
技术领域
本发明涉及网络技术领域,尤其涉及一种自动抽取列表页的方法。
背景技术
传统的列表页抽取技术主要通过规则的形式,比较常用的比如通过正则表达式、xpath、css选择器、甚至通过人工手动的形式将页面上的信息采集下来。
单个网页能够通过诸如正则表达式的方式来精准的想要的信息采集下来,而像正则表达式、css选择器这种方式本质是通过观察网页源码的规则通过人进行总结,进而使用这些规则来抽取,这种方法在不同结构的网页上是很难用同一套规则来抽取的,因为不同网页需要不同的规则来支撑抽取,当用户需要采集大量的网页时,就需要依靠人工来编写大量的规则,这种效率不仅低下,甚至在千、万数量级的网站上时,仅仅依靠人工已经成为了完全不可能的事。不仅如此,依靠规则的抽取方式受限于网页本身,当网站进行改版时,当初的规则也会变得不再适用,又需要要人工重新编写规则,这也使得某些依赖开源信息采集的项目维护成本变得异常高。
发明内容
本发明所要解决的技术问题是提供一种适用度高且高效的自动抽取列表页的方法。
为解决上述技术问题,本发明的技术方案是:一种自动抽取列表页的方法,包括以下步骤:
(1)dom树的生成:获取待采集网站的网页源码;将所述网页源码解析成dom树;根据dom树进行前序遍历,记录所述dom树中各叶子元素的节点路径;提取并保存带有文字的元素节点路径;
(2)获取步骤(1)中提取的带有文字的元素节点的位置信息,根据所述元素节点的位置信息进行打分,并滤除不符合列表页视觉可能性的元素节点;
(3)根据节点路径的相似度和与符合列表页信息约束条件的节点特征的相似度判断多个节点之间是否具有相似指纹,将具有相似指纹的节点分类聚合,其中,所述列表页信息至少包括标题和地址链接,所述相似指纹是指不同的节点之间均符合构成列表页信息的某个约束条件;
(4)将具有多个相似指纹且所述相似指纹能够构成完整列表页信息的多个节点分类聚合成节点块,构成列表页的深度指纹;
(5)从所述列表页的深度指纹中提取标题和地址链接的相似指纹;
(6)抽取列表页,将封装结果返回。
作为优选的技术方案,步骤(2)具体包括:
(2.1)采集html网页的css和js文件,获取所述节点的位置信息;
(2.2)计算每个网页解析后的dom树的元素节点的像素位置;
(2.3)判断所述元素节点是否符合列表页视觉可能性,具体包括:若所述元素节点是隐藏节点,所述元素节点是无效节点;若所述元素节点的像素位置距离网页左边和顶部的距离像素小于设置的阈值,所述元素节点是无效节点;所述元素节点的像素位置与所述网页的的中心点的距离越远,所述元素节点的分值越低,所述元素节点的分值与列表页的抽取精度相关。
作为优选的技术方案,步骤(3)中符合列表页信息约束条件的节点特征包括节点属性标签和节点文本信息标签,其中,所述节点属性标签相似度与所述节点属性的方差成反比,则所述节点属性的方差:
Figure BDA0001773409410000021
其中,
Figure BDA0001773409410000022
a表示单个节点的属性向量,b表示该类下的所有节点平均属性向量;
所述节点文本信息的相似度与文本字数的方差成反比,则所述节点文本字数的方差:
Figure BDA0001773409410000023
其中,
Figure BDA0001773409410000024
表示所有节点中文字信息的词的平均密度,n表示节点数量;
Figure BDA0001773409410000025
作为优选的技术方案,步骤4还包括:
(4.1)计算节点路径前置深度比例,即节点深度指纹所组成的节点块共同的节点路径长度占最长节点路径长度的比例:
Figure BDA0001773409410000031
(4.2)为深度指纹聚合的节点块打分、排序,计算最有可能是列表页的深度指纹,所述节点块的分值:
Figure BDA0001773409410000032
其中,αi是衰减系数。
作为优选的技术方案,步骤(5)中,所述标题的指纹是指符合所述标题约束条件的特征,提取符合所述标题约束条件的相似指纹,以获取标题文字。
作为优选的技术方案,还包括设置列表页抽取规则,以及通过所述抽取规则抽取列表页的步骤。
由于采用了上述技术方案,本发明的有益效果是:本发明能够适用于大量的互联网网站列表页抽取,不拘泥于繁琐冗余的规则,只需要通过网页网址或源码,可以自动将列表页的标题、链接等抽取下来,并且由于本发明针对大量列表页都具有普适性,因此即使出现了网站改版,基于网页结构的抽取方式依旧可以生效,节省了重新编写抽取规则和维护规则所产生来的时间成本和人力成本。
在基于网页的结构抽取算法中,还增加了网页上元素的位置像素信息作为特征,更加符合人对于列表页的感官判断,使得抽取结果更加符合目标。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的流程图。
具体实施方式
如图1所示,一种自动抽取列表页的方法,包括以下步骤:
(1)dom树的生成:
(1.1)获取待采集网站的网页源码;
(1.2)将网页源码解析成dom树;
(1.3)根据dom树进行前序遍历,记录dom树中各叶子元素的节点路径;(1.4)提取并保存带有文字的元素节点路径。
(2)获取步骤(1)中提取的带有文字的元素节点的位置信息,根据所述元素节点的位置信息进行打分,并滤除不符合列表页视觉可能性的元素节点:具体包括:
(2.1)采集html网页的css和js文件,获取节点的位置信息;
(2.2)计算每个网页解析后的dom树的元素节点的像素位置;
(2.3)判断元素节点是否符合列表页视觉可能性,若元素节点是隐藏节点,元素节点是无效节点;
若元素节点的像素位置距离网页左边和顶部的距离像素小于设置的阈值,元素节点是无效节点;
元素节点的像素位置与网页的的中心点的距离越远,
宽度距离:
Figure BDA0001773409410000041
高度距离:
Figure BDA0001773409410000042
其中dis(whole_width)代表整个html页面的宽度,dis(whole_height)代表整个html页面的高度。
元素节点的分值越低,元素节点的分值与列表页的抽取精度相关。
(3)根据节点路径的相似度和与符合列表页信息约束条件的节点特征的相似度判断多个节点之间是否具有相似指纹,将具有相似指纹的节点分类聚合,其中,列表页信息至少包括标题和地址链接,相似指纹是指不同的节点之间均符合构成列表页信息的某个约束条件;
(3.1)计算节点路径的相似度:
dom树的叶子节点路径是否具有相似性,如某个“摘要”节点的路径从root节点开始计算,表示为:0-5-0-2-0-2-0-3-0,其他“摘要”节点为:0-5-0-2-1-2-0-3-0、0-5-0-2-2-2-0-3-0等,则可以看成0-5-0-2-x-2-0-3-0,并将这种形式定义为节点相似指纹,当不同“摘要”节点的路径只相差一个时,我们认为他们的节点路径相似度很高。
标题节点、摘要节点、时间节点或作者节点都可以通过这种方式来计算节点路径形似度,当相似度很高时则可以看成是一类,用0-5-0-2-x-2-0-3-0这种形式保存。
(3.2)计算节点特征的相似度
列表页信息的通过节点属性标签和节点文本信息标签进行约束。
计算节点属性相似度:每个节点都会通过一系列属性标签来修饰,如class、id、name等,相似节点往往具有相同或极为相近的属性标签。使用属性的方差来表示相似节点的属性差异,差异越小越好。
其中,节点属性标签相似度与节点属性的方差成反比,则节点属性的方差:
Figure BDA0001773409410000051
其中,
Figure BDA0001773409410000052
a表示单个节点的属性向量,b表示该类下的所有节点平均属性向量;
计算节点文本信息相似度:对于列表页的标题、摘要、时间等文字构成由于篇幅展现限制,通常字数在一定程度上也会比例相似,节点文本信息的相似度与文本字数的方差成反比,则节点文本字数的方差:
Figure BDA0001773409410000053
其中,
Figure BDA0001773409410000054
表示所有节点中文字信息的词的平均密度,n表示节点数量;
Figure BDA0001773409410000055
(4)将具有多个相似指纹且相似指纹能够构成完整列表页信息的多个节点分类聚合成节点块,构成列表页的深度指纹,相似指纹是将同为标题节点、摘要节点、时间节点组合成一个类,而节点深度指纹是将标题类、摘要类、实践类组合成一个更完整的类。
步骤4还包括:
(4.1)计算节点路径前置深度比例,即节点深度指纹所组成的节点块共同的节点路径长度占最长节点路径长度的比例:
Figure BDA0001773409410000061
例如:如节点深度指纹为0-5-0-2-x-2-0,它是由以下几个节点相似路径组成:
0-5-0-2-x-2-0-1;0-5-0-2-x-2-0-0;0-5-0-2-x-2-0-3-0;0-5-0-2-x-2-0;0-5-0-2-x-2-0-2。
则深度指纹为0-5-0-2-x的值为5,最长为0-5-0-2-x-2-0-3-0的值为9,比例为5/9
(4.2)为深度指纹聚合的节点块打分、排序,计算最有可能是列表页的深度指纹。
深度指纹中一般会拥有较多的相似指纹,因为一般列表页中会包含标题、地址链接、摘要、发布时间、作者等,至少也会包含标题和地址链接。
列表页中每个相似指纹的节点html修饰属性和文字数都较为接近。
列表页一般在整个页面的居中位置。
较多的指纹通过每个相似指纹的累加值来完成,但是因为结构相似的情况在列表页中也会平凡出现如目录页,并且列表页一般包含2~5个相似指纹,因此来累加的过程中加入衰减系数可以避免目录页导致的评分过高,根据实验将衰减系数设为0.7。
节点块的分值:
f(x)=ratio(节点前置路径比例)×∑σ(attr)σ(word)αi
其中,αi是衰减系数。
(5)从所述列表页的深度指纹中提取标题和地址链接的相似指纹;
标题的指纹是指符合所述标题约束条件的特征,提取符合所述标题约束条件的相似指纹,以获取标题文字。
标题的指纹一般符合以下约束条件:
a)标题在节点路径的偏上部分;
b)标题的文字数量一般在5~20个左右;
c)标题一般字体加粗;
d)标题一般会带有地址链接。
通过以上几种要素选择标题的相似指纹,从而获取标题文字。
(6)抽取列表页,将封装结果返回。
本发明还可以设置列表页抽取规则,以及选择通过抽取规则或通过网络结构抽取列表页,根据网络结构抽取列表页可以选择是否采用位置信息抽取列表页,或直接计算节点特征相似度,提取相似指纹。
以上显示和描述了本发明的基本原理、主要特征及本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

Claims (5)

1.一种自动抽取列表页的方法,其特征在于:包括以下步骤:
(1)dom树的生成:获取待采集网站的网页源码;将所述网页源码解析成dom树;根据dom树进行前序遍历,记录所述dom树中各叶子元素的节点路径;提取并保存带有文字的元素节点路径;
(2)获取步骤(1)中提取的带有文字的元素节点的位置信息,根据所述元素节点的位置信息进行打分,并滤除不符合列表页视觉可能性的元素节点;
(3)根据节点路径的相似度和与符合列表页信息约束条件的节点特征的相似度判断多个节点之间是否具有相似指纹,将具有相似指纹的节点分类聚合,其中,所述列表页信息至少包括标题和地址链接,所述相似指纹是指不同的节点之间均符合构成列表页信息的某个约束条件;
(4)将具有多个相似指纹且所述相似指纹能够构成完整列表页信息的多个节点分类聚合成节点块,构成列表页的深度指纹;
(5)从所述列表页的深度指纹中提取标题和地址链接的相似指纹;
(6)抽取列表页,将封装结果返回;
步骤(3)中符合列表页信息约束条件的节点特征包括节点属性标签和节点文本信息标签,其中,所述节点属性标签相似度与所述节点属性的方差成反比,则所述节点属性的方差:
Figure 2
其中,
Figure FDA0003335012500000012
a表示单个节点的属性向量,b表示该类下的所有节点平均属性向量;
所述节点文本信息的相似度与文本字数的方差成反比,则所述节点文本字数的方差:
Figure FDA0003335012500000021
其中,
Figure FDA0003335012500000022
表示所有节点中文字信息的词的平均密度,n表示节点数量。
2.如权利要求1所述的一种自动抽取列表页的方法,其特征在于:步骤(2)具体包括:
(2.1)采集html网页的css和js文件,获取所述节点的位置信息;
(2.2)计算每个网页解析后的dom树的元素节点的像素位置;
(2.3)判断所述元素节点是否符合列表页视觉可能性,具体包括:若所述元素节点是隐藏节点,所述元素节点是无效节点;若所述元素节点的像素位置距离网页左边和顶部的距离像素小于设置的阈值,所述元素节点是无效节点;所述元素节点的像素位置与所述网页的的中心点的距离越远,所述元素节点的分值越低,所述元素节点的分值与列表页的抽取精度相关。
3.如权利要求1所述的一种自动抽取列表页的方法,其特征在于:步骤4还包括:
(4.1)计算节点路径前置深度比例,即节点深度指纹所组成的节点块共同的节点路径长度占最长节点路径长度的比例:
Figure FDA0003335012500000023
(4.2)为深度指纹聚合的节点块打分、排序,计算最有可能是列表页的深度指纹,所述节点块的分值:
f(x)=ratio(节点前置路径比例)×∑σσ(word)αi;
其中,αi是衰减系数。
4.如权利要求1所述的一种自动抽取列表页的方法,其特征在于:步骤(5)中,所述标题的指纹是指符合所述标题约束条件的特征,提取符合所述标题约束条件的相似指纹,以获取标题文字。
5.如权利要求1所述的一种自动抽取列表页的方法,其特征在于:还包括设置列表页抽取规则,以及通过所述抽取规则抽取列表页的步骤。
CN201810959317.6A 2018-08-22 2018-08-22 一种自动抽取列表页的方法 Active CN109144513B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810959317.6A CN109144513B (zh) 2018-08-22 2018-08-22 一种自动抽取列表页的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810959317.6A CN109144513B (zh) 2018-08-22 2018-08-22 一种自动抽取列表页的方法

Publications (2)

Publication Number Publication Date
CN109144513A CN109144513A (zh) 2019-01-04
CN109144513B true CN109144513B (zh) 2022-02-11

Family

ID=64790596

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810959317.6A Active CN109144513B (zh) 2018-08-22 2018-08-22 一种自动抽取列表页的方法

Country Status (1)

Country Link
CN (1) CN109144513B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111796830B (zh) * 2020-06-08 2023-09-19 成都数之联科技股份有限公司 一种协议解析处理方法、装置、设备及介质
CN112052368B (zh) * 2020-08-11 2024-04-19 北京新橙科技有限公司 自动提取列表数据的方法、系统、存储介质及电子设备
CN112287272B (zh) * 2020-10-27 2023-05-23 中国科学院计算技术研究所 一种网站列表页面的分类方法、系统及存储介质
CN115017430A (zh) * 2022-06-27 2022-09-06 京东科技控股股份有限公司 列表页面的确定方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101593184A (zh) * 2008-05-29 2009-12-02 国际商业机器公司 自适应地定位动态网页元素的系统和方法
CN101944094A (zh) * 2009-07-06 2011-01-12 富士通株式会社 网页信息提取方法和装置
CN102567530A (zh) * 2011-12-31 2012-07-11 凤凰在线(北京)信息技术有限公司 一种文章类型网页智能抽取系统及其方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040049737A1 (en) * 2000-04-26 2004-03-11 Novarra, Inc. System and method for displaying information content with selective horizontal scrolling

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101593184A (zh) * 2008-05-29 2009-12-02 国际商业机器公司 自适应地定位动态网页元素的系统和方法
CN101944094A (zh) * 2009-07-06 2011-01-12 富士通株式会社 网页信息提取方法和装置
CN102567530A (zh) * 2011-12-31 2012-07-11 凤凰在线(北京)信息技术有限公司 一种文章类型网页智能抽取系统及其方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Detecting Phishing Web Pages with Visual;Anthony Y. Fu,et cl;《IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING》;20061231;全文 *

Also Published As

Publication number Publication date
CN109144513A (zh) 2019-01-04

Similar Documents

Publication Publication Date Title
CN109144513B (zh) 一种自动抽取列表页的方法
CN102663023B (zh) 一种提取网页内容的实现方法
US20090049062A1 (en) Method for Organizing Structurally Similar Web Pages from a Web Site
US8812949B2 (en) System and method for automatically detecting and extracting semantically significant text from a HTML document associated with a plurality of HTML documents
US20020021838A1 (en) Adaptively weighted, partitioned context edit distance string matching
CN105630941A (zh) 基于统计和网页结构的Web正文内容抽取方法
CN110287784B (zh) 一种年报文本结构识别方法
CN113254751B (zh) 一种复杂网页结构化信息精确提取方法、设备及存储介质
CN106407450A (zh) 文件搜索方法及装置
CN100432996C (zh) 基于网页页面布局提取网页核心内容的系统、方法
CN109165373B (zh) 一种数据处理方法及装置
CN112084451B (zh) 一种基于视觉分块的网页logo提取系统及方法
CN111680506A (zh) 数据库表的外键映射方法、装置、电子设备和存储介质
CN108874870A (zh) 一种数据抽取方法、设备及计算机可存储介质
CN106528509B (zh) 网页信息提取方法及装置
Xu et al. Cross-browser differences detection based on an empirical metric for web page visual similarity
CN110795933B (zh) 一种网页正文的识别处理方法及装置
CN116361362B (zh) 一种基于网页内容识别的用户信息挖掘方法与系统
CN112183093A (zh) 一种企业舆情分析方法、装置、设备及可读存储介质
CN109740097B (zh) 一种基于逻辑链接块的网页正文抽取方法
CN109165295B (zh) 一种智能简历评估方法
CN108628703B (zh) 一种基于视觉相似性镜像网站发现方法及系统
CN103678432B (zh) 一种基于网页主体特征和中介真值的网页主体提取方法
CN112347353B (zh) 一种网页去噪的方法
CN114528811A (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