CN112765941A - 自动提取网页正文的方法及系统 - Google Patents
自动提取网页正文的方法及系统 Download PDFInfo
- Publication number
- CN112765941A CN112765941A CN202110081170.7A CN202110081170A CN112765941A CN 112765941 A CN112765941 A CN 112765941A CN 202110081170 A CN202110081170 A CN 202110081170A CN 112765941 A CN112765941 A CN 112765941A
- Authority
- CN
- China
- Prior art keywords
- node
- dom
- alternative
- nodes
- score
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000012216 screening Methods 0.000 claims abstract description 20
- 238000000605 extraction Methods 0.000 claims abstract description 8
- 238000004590 computer program Methods 0.000 claims description 9
- 238000009877 rendering Methods 0.000 abstract description 3
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种自动提取网页正文的方法及系统,该方法包括:对目标网页的DOM节点进行筛选,获取备选DOM节点;若父节点的文字内容长度大于预设长度阈值,即将备选DOM节点、备选DOM节点的父节点、父节点的父节点放入待处理列表中,否则忽略此备选节点;根据待处理列表中各个节点的标签,获取各个节点的初始评分;根据预设评分模型,获取待处理列表各个节点的附加分数;据待处理列表优选DOM节点列表中所有优选DOM节点的最终分数,获取内容节点。本发明与传统方法相比,不需要使用人工对文档作出标记,可以提高文档正文的提取效率;另外,由于本方案是从前端提取的,不是从服务端提取的,从而可以正确提取动态渲染页面。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种自动提取网页正文的方法及系统。
背景技术
现有技术中,一般采用正则表达式或指定位置字符截取等方法提取文本正文,需要针对每个站点页面预设特定的表达式或截取位置信息。当处理的网页文档过多,文档结构也大不相同时,难以用人工对文档作出标记,从而也就难以得到每个站点页面预设特定的表达式。因此,现在提取正文的方式效率较低而且不够智能。
发明内容
本发明提供一种自动提取网页正文的方法及系统,用以解决现有技术中提取正文效率低的缺陷,实现高效的正文提取。
本发明提供一种自动提取网页正文的方法,包括:
对目标网页的DOM节点进行筛选,获取备选DOM节点;
若所述备选DOM节点的父节点的文字内容长度大于预设长度阈值,且所述父节点的父节点存在,则根据所述备选DOM节点的标签、所述父节点的标签、所述父节点的父节点的标签,获取所述备选DOM节点的初始评分、所述父节点的初始评分和所述父节点的父节点的初始评分;
根据预设评分模型,获取所述备选DOM节点的附加分数;
根据所述备选DOM节点的附加分数、所述备选DOM节点的标签与预设备选标签的匹配结果,获取所述父节点的附加分数和所述父节点的父节点的附加分数;
根据优选DOM节点列表中所有优选DOM节点的最终分数,获取内容节点,所述优选DOM节点列表包括所述备选DOM节点、所述备选DOM节点的最终分数、所述父节点、所述父节点的最终分数和所述父节点的父节点、所述父节点的父节点的最终分数,所述最终分数根据所述初始评分和所述附加分数获得。
根据本发明提供的一种自动提取网页正文的方法,所述预设评分模型应用如下公式获得:
score=1+O.text.split(/[,,]/).length*2+L+Math.min(O.text.length/100,3)+O.textNodeCount;
其中,score表示所述备选DOM节点的附加分数;O.text.split(/[,,]/).length表示将所述备选DOM节点按照逗号分隔开以判断逗号个数;L表示将所述备选DOM节点按照句号分隔开以判断句号个数;Math.min(O.text.length/100,3)表示将所述备选DOM节点的文本长度除100计入评分权重,最多不超过3分;O.textNodeCount表示所述备选DOM节点的子文本节点数。
根据本发明提供的一种自动提取网页正文的方法,所述根据所述备选DOM节点的附加分数、所述备选DOM节点的标签与预设备选标签的匹配结果,获取所述父节点的附加分数和所述父节点的父节点的附加分数,包括:
若所述备选DOM节点的标签与预设备选标签匹配,则将所述备选DOM节点的附加分数作为所述父节点的附加分数,将所述备选DOM节点的附加分数的一半作为所述父节点的父节点的附加分数。
根据本发明提供的一种自动提取网页正文的方法,所述根据所述备选DOM节点的附加分数、所述备选DOM节点的标签与预设备选标签的匹配结果,获取所述父节点的附加分数和所述父节点的父节点的附加分数,进一步包括:
若所述备选DOM节点的标签与预设备选标签不匹配,则将所述备选DOM节点的附加分数的一半作为所述父节点的附加分数,将所述备选DOM节点的附加分数的1/4作为所述父节点的父节点的附加分数。
根据本发明提供的一种自动提取网页正文的方法,所述根据优选DOM节点列表中所有优选DOM节点的最终分数,获取内容节点,包括:
根据所述优选DOM节点的最终分数和非链接文字占比,获取所述优选DOM节点的最后分数;
若所述优选DOM节点列表中所有优选DOM节点的最后分数的最大值大于预设分数阈值,则将最后分数最大的优选DOM节点作为内容节点。
根据本发明提供的一种自动提取网页正文的方法,所述对目标网页的DOM节点进行筛选,获取备选DOM节点,包括:
若目标网页的DOM节点的标签与第一预设标签进行不匹配,将所述目标网页的DOM节点作为初始DOM节点;
若所述初始DOM节点的标签与第二预设class和预设id匹配,且与第三预设class和预设id不匹配,则将所述初始DOM节点作为候选DOM节点;
若所述候选DOM节点的可视区域大于预设区域阈值,则将所述候选DOM节点作为所述备选DOM节点。
根据本发明提供的一种自动提取网页正文的方法,所述对目标网页的DOM节点进行筛选,获取备选DOM节点,之前还包括:
对所述目标网页进行解析,获取所述目标网页的DOM节点。
本发明还提供一种自动提取网页正文的系统,包括:
筛选模块,用于对目标网页的DOM节点进行筛选,获取备选DOM节点;
初始评分模块,用于若所述备选DOM节点的父节点的文字内容长度大于预设长度阈值,且所述父节点的父节点存在,则根据所述备选DOM节点的标签、所述父节点的标签、所述父节点的父节点的标签,获取所述备选DOM节点的初始评分、所述父节点的初始评分和所述父节点的父节点的初始评分;
第一附加评分模块,用于根据预设评分模型,获取所述备选DOM节点的附加分数;
第二附加评分模块,用于根据所述备选DOM节点的附加分数、所述备选DOM节点的标签与预设备选标签的匹配结果,获取所述父节点的附加分数和所述父节点的父节点的附加分数;
提取模块,用于根据优选DOM节点列表中所有优选DOM节点的最终分数,获取内容节点,所述优选DOM节点列表包括所述备选DOM节点、所述备选DOM节点的最终分数、所述父节点、所述父节点的最终分数和所述父节点的父节点、所述父节点的父节点的最终分数,所述最终分数根据所述初始评分和所述附加分数获得。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述自动提取网页正文的方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述自动提取网页正文的方法的步骤。
本发明提供的一种自动提取网页正文的方法及系统,与传统方法相比,不需要使用人工对文档作出标记,从而可以提高文档正文的提取效率;另外,由于本方案是从前端提取的,不是从服务端提取的,从而可以正确提取Javascript动态渲染页面。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种自动提取网页正文的方法的流程图;
图2为本发明提供的一种自动提取网页正文的系统结构示意图;
图3为本发明提供的一种电子设备的实体结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种自动提取网页正文的方法,如图1所示,该方法包括:
110,对目标网页的DOM节点进行筛选,获取备选DOM节点;
一般情况下,目标网页为HTML文档,HTML表示超文本标记语言,在目标文本属于HTML文档的情况下,需要对HTML文档进行解析,将其解析为DOM(Document ObjectModel)节点,DOM节点是指在HTML文档中的每个成分都是一个节点。整个文档就是一个文档节点,每个HTML标签是一个元素节点。
刚解析完的目标网页中所包含的DOM节点中包含很多噪声节点和干扰节点,这些节点肯定不属于网页正文内容,需要对其进行筛选,将筛选过后的DOM节点作为备选DOM节点。
一般而言,备选DOM节点会有多个。
120,若所述备选DOM节点的父节点的文字内容长度大于预设长度阈值,则根据所述备选DOM节点的标签、所述父节点的标签、所述父节点的父节点的标签,获取所述备选DOM节点的初始评分、所述父节点的初始评分和所述父节点的父节点的初始评分;
以其中任意一个备选DOM节点为例,遍历获取该备选DOM节点的父节点,以及该父节点的父节点。如果该父节点存在并且该父节点的文字内容长度大于预设长度阈值,那么根据该备选DOM节点的标签确定备选DOM节点的初始评分,根据父节点的标签确定父节点的初始评分,根据父节点的父节点的标签确定相应的初始评分。
本发明实施例中,预设长度阈值的取值为25。
在一具体的实施例中,不同的标签对应的初始评分是预先根据实际经验设定的,表1为不同标签类型对应的初始评分表,如表1所示:
表1
标签类型 | 初始评分 |
<DIV>,<ARTICLE>,<SECTION> | 5 |
<PRE>,<TD>,<BLOCKQUOTE> | 3 |
<ADDRESS>,<OL>,<UL>,<DL>,<DD>,<DT>,<LI>,<FORM> | -3 |
<H1>,<H2>,<H3>,<H4>,<H5>,<H6>,<TH> | -5 |
130,根据预设评分模型,获取所述备选DOM节点的附加分数;
然后根据预设评分模型,得到该备选DOM节点的附加分数,预设评分模型是预先根据多个DOM节点的属性总结出来的评分模型,表示DOM节点属性和该节点属于正文可能性的概率,概率越高,其对应的附加分数越高,概率越低,其对应的附加分数越低。
再一优选实施例中,预设评分模型的具体计算公式如下:
score=1+O.text.split(/[,,]/).length*2+L+Math.min(O.text.length/100,3)+O.textNodeCount;
L=O.text.split(/[.。]/).length;
其中,score表示所述备选DOM节点的附加分数;O.text.split(/[,,]/).length表示将所述备选DOM节点按照逗号分隔开以判断逗号个数;L表示将所述备选DOM节点按照句号分隔开以判断句号个数,具体编程的实现代码为O.text.split(/[.。]/).length;Math.min(O.text.length/100,3)表示将所述备选DOM节点的文本长度除100计入评分权重,最多不超过3分;O.textNodeCount表示所述备选DOM节点的子文本节点数。140,根据所述备选DOM节点的附加分数、所述备选DOM节点的标签与预设备选标签的匹配结果,获取所述父节点的附加分数和所述父节点的父节点的附加分数;
通过上述步骤计算出该备选DOM节点的附加分数,如果该备选DOM节点的标签与预设备选标签的结果是匹配的,在已经知道该备选DOM节点的附加分数的基础上,可以得到该父节点的附加分数和该父节点的父节点的附加分数。
举例地,本发明实施例中的预设备选标签为b、span、em、u、q、i、s、small、strong、font,如果该备选DOM节点的标签是预设备选标签中的其中一个,那么该备选DOM节点的父节点的附加分数为score,该父节点的父节点的附加分数为score/2;否则,该父节点的附加分数为score/2,该父节点的父节点的附加分数为score/4。
将该备选DOM节点的初始分数加上该备选DOM节点的附加分数,作为该备选DOM节点的最终分数;将该父节点的初始分数加上该父节点的附加分数,作为该父节点的最终分数;将该父节点的父节点的初始分数加上该父节点的父节点的附加分数,作为该父节点的父节点的最终分数。
最后将该备选DOM节点、该备选DOM节点对应的最终分数、该父节点、该父节点对应的最终分数、该父节点的父节点、该父节点的父节点对应的最终分数加入到优选DOM节点列表中。
对每个备选DOM节点都经过上述步骤处理,得到优选DOM节点列表。
150,根据优选DOM节点列表中所有优选DOM节点的最终分数,获取内容节点,所述优选DOM节点列表包括所述备选DOM节点、所述备选DOM节点的最终分数、所述父节点、所述父节点的最终分数和所述父节点的父节点、所述父节点的父节点的最终分数,所述最终分数根据所述初始评分和所述附加分数获得。
最后遍历该优选DOM节点列表,根据每个优选DOM节点对应的最终分数,从所有优选DOM节点中筛选出内容节点。
在一实施中,可以直接将所有优选DOM节点中最终分数最高的节点作为内容节点。
在另一实施例中,还可以将每个优选DOM节点的最终分数乘以非链接文字占比,得到每个优选DOM节点的最优分数,然后将最优分数最高的优选DOM节点直接作为内容节点,由于在网页中经常会存在网页链接,此种链接会占用一部分文字内容,这会对内容节点的判断产生干扰,所谓非链接文字占比是指除去非链接以外的文字占所有文字的比例。
在又一实施例中,将每个优选DOM节点的最终分数乘以非链接文字占比,得到每个优选DOM节点的最优分数,如果最优分数的最高值小于15,那么即可认为该目标网页无明显内容节点。
本发明提供一种自动提取网页正文的方法,与传统方法相比,不需要使用人工对文档作出标记,从而可以提高文档正文的提取效率;另外,由于本方案是从前端提取的,不是从服务端提取的,从而可以正确提取Javascript动态渲染页面。
在上述实施例的基础上,优选地,所述对目标网页的DOM节点进行筛选,获取备选DOM节点,包括:
若目标网页的DOM节点的标签与第一预设标签进行不匹配,将所述目标网页的DOM节点作为初始DOM节点;
若所述初始DOM节点的标签与第二预设class和预设id匹配,且与第三预设class和预设id不匹配,则将所述初始DOM节点作为候选DOM节点;
若所述候选DOM节点的可视区域大于预设区域阈值,则将所述候选DOM节点作为所述备选DOM节点。
将刚解析出的目标网页中的所有DOM节点的标签与第一预设标签进行匹配,第一预设标签表示明显干扰标签和噪声标签,本发明实施例中的第一预设标签如下:
<HTML>,<HEAD>,<META>,<TITLE>,<SCRIPT>,<STYLE>,<LINK>,<IMG>,<FORM>,<INPUT>,<BUTTON>,<TEXTAREA>,<SELECT>,<OPTION>,<LABEL>,<IFRAME>,<UL>,<OL>,<LI>,<>,<DT>,<A>,<OBJECT>,<PARAM>,<EMBED>,<NOSCRIPT>,<EM>,<B>,<STRONG>,<I>,<INS>,<BR>,<HR>,<PRE>,<H1>,<H2>,<H3>,<H4>,<H5>,<CITE>,这些节点属于目标网页中的干扰节点,需要进行筛除。
如果该标签与第一预设标签不匹配,也就是筛选出上述第一预设标签,将剩余的DOM节点作为初始DOM节点。
然后将初始DOM节点的标签与第二预设class和预设id一一进行匹配,筛选出包含第二预设class和预设id并且不包含第三预设class和预设id的初始DOM节点,将剩余的初始DOM节点作为候选DOM节点,第二预设class和预设id包括:
header、foot、comment、community、extra、menu、remark、sidebar、pagination、pager、popup,这些类型的class和id属于正文的可能性比较小,因此将这部分标签也删除。
第三预设class和预设id包括:article、body、column、main,这部分标签是正文的可能性比较大,将这部分标签保留。
然后对每个候选DOM节点的可视区域进行判断,一般包含正文的节点像素值都比较大,本发明实施例中如果可是区域的像素值大于预设区域阈值,说明该节点是正文节点,将其作为备选DOM节点,继续进行后面的判断。
本发明实施例中,预设区域阈值的大小为280*30像素。
本发明一优选实施例提供一种自动提取网页正文的方法,该方法包括如下几个步骤:
第一步:对目标网页进行访问请求,对目标网页进行解析,将HTML文档解析为DOM(Document ObjectModel)节点。
第二步:遍历HTML页面所有DOM节点,依次对DOM节点作如下预处理:
步骤一:将目标网页的DOM节点的标签与第一预设标签进行匹配,将匹配不成功的DOM节点作为初始DOM节点,第一预设标签包括:<HTML>,<HEAD>,<META>,<TITLE>,<SCRIPT>,<STYLE>,<LINK>,<IMG>,<FORM>,<INPUT>,<BUTTON>,<TEXTAREA>,<SELECT>,<OPTION>,<LABEL>,<IFRAME>,<UL>,<OL>,<LI>,<>,<DT>,<A>,<OBJECT>,<PARAM>,<EMBED>,<NOSCRIPT>,<EM>,<B>,<STRONG>,<I>,<INS>,<BR>,<HR>,<PRE>,<H1>,<H2>,<H3>,<H4>,<H5>,<CITE>。
步骤二:如果初始DOM节点的标签与第二预设class和预设id匹配,且与第三预设class和预设id不匹配,则将这部分初始DOM节点作为候选DOM节点,其中,第二预设class和预设id包括:header、foot、comment、community、extra、menu、remark、sidebar、pagination、pager、popup,第三预设class和预设id包括:article、body、column、main。
步骤三:如果候选DOM节点的可视区域大于预设区域阈值(280*30像素),则将该候选DOM节点作为备选DOM节点。
步骤四:将所有的备选DOM节点放入待处理节点列表A。
步骤五:遍历待处理节点列表A。
步骤六:获取遍历中的当前备选DOM节点O的父节点M、M的父节点N。如果M存在并且M的文字内容长度大于25就将当前节点O、父节点M、节点N(如果节点N存在的情况下)根据标签进行评分后得到初始评分,将当前节点O、父节点M、节点N及其相应的初始评分放入优化DOM备选节点列表B。
步骤七:按以下公式计算备选DOM节点O的附加分数score:score=1+O.text.split(/[,,]/).length*2+L+Math.min(O.text.length/100,3)+O.textNodeCount;
L=O.text.split(/[.。]/).length;
其中,score表示所述备选DOM节点的附加分数;O.text.split(/[,,]/).length表示将所述备选DOM节点按照逗号分隔开以判断逗号个数;O.text.split(/[.。]/).length表示将所述备选DOM节点按照句号分隔开以判断句号个数;Math.min(O.text.length/100,3)表示将所述备选DOM节点的文本长度除100计入评分权重,最多不超过3分;O.textNodeCount表示所述备选DOM节点的子文本节点数。
将O的初始评分加score得到最终评分,如果O的标签正则匹配b、span、em、u、q、i、s、small、strong、font,即行内节点元素则M的评分加score,即可得到M的最终分数;N节点的评分加score/2,即可得到N的最终分数;否则M的评分加score/2,N节点的评分加score/4。
步骤八:遍历优选DOM节点列表B,将当前遍历优选DOM节点的最终分数*非链接文字占比,得到优选DOM节点的最优分数,找出优选DOM节点列表B里最优分数最高的节点即为内容节点,如果最优分数最高节点分数小于15即页面无明显内容节点。
本发明实施例提供一种自动提取网页正文的系统结构示意图,如图2所示,该系统包括筛选模块201、初始评分模块202、第一附加评分模块203、第二附加评分模块204和提取模块205,其中:
筛选模块201用于对目标网页的DOM节点进行筛选,获取备选DOM节点;
初始评分模块202用于若所述备选DOM节点的父节点的文字内容长度大于预设长度阈值,且所述父节点的父节点存在,则根据所述备选DOM节点的标签、所述父节点的标签、所述父节点的父节点的标签,获取所述备选DOM节点的初始评分、所述父节点的初始评分和所述父节点的父节点的初始评分;
第一附加评分模块203用于根据预设评分模型,获取所述备选DOM节点的附加分数;
第二附加评分模块204用于根据所述备选DOM节点的附加分数、所述备选DOM节点的标签与预设备选标签的匹配结果,获取所述父节点的附加分数和所述父节点的父节点的附加分数;
提取模块205用于根据优选DOM节点列表中所有优选DOM节点的最终分数,获取内容节点,所述优选DOM节点列表包括所述备选DOM节点、所述备选DOM节点的最终分数、所述父节点、所述父节点的最终分数和所述父节点的父节点、所述父节点的父节点的最终分数,所述最终分数根据所述初始评分和所述附加分数获得。
本实施例为与上述方法相对应的系统实施例,详情请参考上述方法实施例,本系统实施例在此不再赘述。
本发明实施例提供一种电子设备,如图3所示,该电子设备可以包括:处理器(processor)310、通信接口(Communications Interface)320、存储器(memory)330和通信总线340,其中,处理器310,通信接口320,存储器330通过通信总线340完成相互间的通信。处理器310可以调用存储器330中的逻辑指令,以执行一种自动提取网页正文的方法,该方法包括:
对目标网页的DOM节点进行筛选,获取备选DOM节点;
若所述备选DOM节点的父节点的文字内容长度大于预设长度阈值,且所述父节点的父节点存在,则根据所述备选DOM节点的标签、所述父节点的标签、所述父节点的父节点的标签,获取所述备选DOM节点的初始评分、所述父节点的初始评分和所述父节点的父节点的初始评分;
根据预设评分模型,获取所述备选DOM节点的附加分数;
根据所述备选DOM节点的附加分数、所述备选DOM节点的标签与预设备选标签的匹配结果,获取所述父节点的附加分数和所述父节点的父节点的附加分数;
根据优选DOM节点列表中所有优选DOM节点的最终分数,获取内容节点,所述优选DOM节点列表包括所述备选DOM节点、所述备选DOM节点的最终分数、所述父节点、所述父节点的最终分数和所述父节点的父节点、所述父节点的父节点的最终分数,所述最终分数根据所述初始评分和所述附加分数获得。
此外,上述的存储器330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的一种自动提取网页正文的方法,该方法包括:
对目标网页的DOM节点进行筛选,获取备选DOM节点;
若所述备选DOM节点的父节点的文字内容长度大于预设长度阈值,且所述父节点的父节点存在,则根据所述备选DOM节点的标签、所述父节点的标签、所述父节点的父节点的标签,获取所述备选DOM节点的初始评分、所述父节点的初始评分和所述父节点的父节点的初始评分;
根据预设评分模型,获取所述备选DOM节点的附加分数;
根据所述备选DOM节点的附加分数、所述备选DOM节点的标签与预设备选标签的匹配结果,获取所述父节点的附加分数和所述父节点的父节点的附加分数;
根据优选DOM节点列表中所有优选DOM节点的最终分数,获取内容节点,所述优选DOM节点列表包括所述备选DOM节点、所述备选DOM节点的最终分数、所述父节点、所述父节点的最终分数和所述父节点的父节点、所述父节点的父节点的最终分数,所述最终分数根据所述初始评分和所述附加分数获得。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的一种自动提取网页正文的方法,该方法包括:
对目标网页的DOM节点进行筛选,获取备选DOM节点;
若所述备选DOM节点的父节点的文字内容长度大于预设长度阈值,且所述父节点的父节点存在,则根据所述备选DOM节点的标签、所述父节点的标签、所述父节点的父节点的标签,获取所述备选DOM节点的初始评分、所述父节点的初始评分和所述父节点的父节点的初始评分;
根据预设评分模型,获取所述备选DOM节点的附加分数;
根据所述备选DOM节点的附加分数、所述备选DOM节点的标签与预设备选标签的匹配结果,获取所述父节点的附加分数和所述父节点的父节点的附加分数;
根据优选DOM节点列表中所有优选DOM节点的最终分数,获取内容节点,所述优选DOM节点列表包括所述备选DOM节点、所述备选DOM节点的最终分数、所述父节点、所述父节点的最终分数和所述父节点的父节点、所述父节点的父节点的最终分数,所述最终分数根据所述初始评分和所述附加分数获得。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种自动提取网页正文的方法,其特征在于,包括:
对目标网页的DOM节点进行筛选,获取备选DOM节点;
若所述备选DOM节点的父节点的文字内容长度大于预设长度阈值,且所述父节点的父节点存在,则根据所述备选DOM节点的标签、所述父节点的标签、所述父节点的父节点的标签,获取所述备选DOM节点的初始评分、所述父节点的初始评分和所述父节点的父节点的初始评分;
根据预设评分模型,获取所述备选DOM节点的附加分数;
根据所述备选DOM节点的附加分数、所述备选DOM节点的标签与预设备选标签的匹配结果,获取所述父节点的附加分数和所述父节点的父节点的附加分数;
根据优选DOM节点列表中所有优选DOM节点的最终分数,获取内容节点,所述优选DOM节点列表包括所述备选DOM节点、所述备选DOM节点的最终分数、所述父节点、所述父节点的最终分数和所述父节点的父节点、所述父节点的父节点的最终分数,所述最终分数根据所述初始评分和所述附加分数获得。
2.根据权利要求1所述的自动提取网页正文的方法,其特征在于,所述预设评分模型应用如下公式获得:
score=1+O.text.split(/[,,]/).length*2+L+Math.min(O.text.length/100,3)+O.textNodeCount;
其中,score表示所述备选DOM节点的附加分数;O.text.split(/[,,]/).length表示将所述备选DOM节点按照逗号分隔开以判断逗号个数;L表示将所述备选DOM节点按照句号分隔开以判断句号个数;Math.min(O.text.length/100,3)表示将所述备选DOM节点的文本长度除100计入评分权重,最多不超过3分;O.textNodeCount表示所述备选DOM节点的子文本节点数。
3.根据权利要求1所述的自动提取网页正文的方法,其特征在于,所述根据所述备选DOM节点的附加分数、所述备选DOM节点的标签与预设备选标签的匹配结果,获取所述父节点的附加分数和所述父节点的父节点的附加分数,包括:
若所述备选DOM节点的标签与预设备选标签匹配,则将所述备选DOM节点的附加分数作为所述父节点的附加分数,将所述备选DOM节点的附加分数的一半作为所述父节点的父节点的附加分数。
4.根据权利要求1所述的自动提取网页正文的方法,其特征在于,所述根据所述备选DOM节点的附加分数、所述备选DOM节点的标签与预设备选标签的匹配结果,获取所述父节点的附加分数和所述父节点的父节点的附加分数,进一步包括:
若所述备选DOM节点的标签与预设备选标签不匹配,则将所述备选DOM节点的附加分数的一半作为所述父节点的附加分数,将所述备选DOM节点的附加分数的1/4作为所述父节点的父节点的附加分数。
5.根据权利要求1所述的自动提取网页正文的方法,其特征在于,所述根据优选DOM节点列表中所有优选DOM节点的最终分数,获取内容节点,包括:
根据所述优选DOM节点的最终分数和非链接文字占比,获取所述优选DOM节点的最后分数;
若所述优选DOM节点列表中所有优选DOM节点的最后分数的最大值大于预设分数阈值,则将最后分数最大的优选DOM节点作为内容节点。
6.根据权利要求1至5任一所述的自动提取网页正文的方法,其特征在于,所述对目标网页的DOM节点进行筛选,获取备选DOM节点,包括:
若目标网页的DOM节点的标签与第一预设标签进行不匹配,将所述目标网页的DOM节点作为初始DOM节点;
若所述初始DOM节点的标签与第二预设class和预设id匹配,且与第三预设class和预设id不匹配,则将所述初始DOM节点作为候选DOM节点;
若所述候选DOM节点的可视区域大于预设区域阈值,则将所述候选DOM节点作为所述备选DOM节点。
7.根据权利要求1至5任一所述的自动提取网页正文的方法,其特征在于,所述对目标网页的DOM节点进行筛选,获取备选DOM节点,之前还包括:
对所述目标网页进行解析,获取所述目标网页的DOM节点。
8.一种自动提取网页正文的系统,其特征在于,包括:
筛选模块,用于对目标网页的DOM节点进行筛选,获取备选DOM节点;
初始评分模块,用于若所述备选DOM节点的父节点的文字内容长度大于预设长度阈值,且所述父节点的父节点存在,则根据所述备选DOM节点的标签、所述父节点的标签、所述父节点的父节点的标签,获取所述备选DOM节点的初始评分、所述父节点的初始评分和所述父节点的父节点的初始评分;
第一附加评分模块,用于根据预设评分模型,获取所述备选DOM节点的附加分数;
第二附加评分模块,用于根据所述备选DOM节点的附加分数、所述备选DOM节点的标签与预设备选标签的匹配结果,获取所述父节点的附加分数和所述父节点的父节点的附加分数;
提取模块,用于根据优选DOM节点列表中所有优选DOM节点的最终分数,获取内容节点,所述优选DOM节点列表包括所述备选DOM节点、所述备选DOM节点的最终分数、所述父节点、所述父节点的最终分数和所述父节点的父节点、所述父节点的父节点的最终分数,所述最终分数根据所述初始评分和所述附加分数获得。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述自动提取网页正文的方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述自动提取网页正文的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110081170.7A CN112765941A (zh) | 2021-01-21 | 2021-01-21 | 自动提取网页正文的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110081170.7A CN112765941A (zh) | 2021-01-21 | 2021-01-21 | 自动提取网页正文的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112765941A true CN112765941A (zh) | 2021-05-07 |
Family
ID=75702199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110081170.7A Pending CN112765941A (zh) | 2021-01-21 | 2021-01-21 | 自动提取网页正文的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112765941A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116629209A (zh) * | 2023-07-25 | 2023-08-22 | 苏州浪潮智能科技有限公司 | 一种数据处理的方法、装置、系统、设备及可读存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110119571A1 (en) * | 2009-11-18 | 2011-05-19 | Kevin Decker | Mode Identification For Selective Document Content Presentation |
US20110302510A1 (en) * | 2010-06-04 | 2011-12-08 | David Frank Harrison | Reader mode presentation of web content |
CN102831121A (zh) * | 2011-06-15 | 2012-12-19 | 阿里巴巴集团控股有限公司 | 一种网页信息抽取的方法和系统 |
CN103853760A (zh) * | 2012-12-03 | 2014-06-11 | 中国移动通信集团公司 | 一种网页正文内容提取方法和装置 |
CN104376061A (zh) * | 2014-11-10 | 2015-02-25 | 武汉传神信息技术有限公司 | 一种提取网页正文的方法 |
CN108268433A (zh) * | 2018-02-26 | 2018-07-10 | 杭州数梦工场科技有限公司 | 基于网页文章的标题抽取方法及装置 |
CN108920434A (zh) * | 2018-06-06 | 2018-11-30 | 武汉酷犬数据科技有限公司 | 一种通用的网页主题内容提取方法和系统 |
CN109636199A (zh) * | 2018-12-14 | 2019-04-16 | 语联网(武汉)信息技术有限公司 | 一种为待译稿件匹配译员的方法及系统 |
CN111581478A (zh) * | 2020-05-07 | 2020-08-25 | 成都信息工程大学 | 一种特定主体的跨网站通用新闻采集方法 |
CN112101004A (zh) * | 2020-09-23 | 2020-12-18 | 电子科技大学 | 基于条件随机场与句法分析的通用网页人物信息提取方法 |
-
2021
- 2021-01-21 CN CN202110081170.7A patent/CN112765941A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110119571A1 (en) * | 2009-11-18 | 2011-05-19 | Kevin Decker | Mode Identification For Selective Document Content Presentation |
US20110302510A1 (en) * | 2010-06-04 | 2011-12-08 | David Frank Harrison | Reader mode presentation of web content |
CN102831121A (zh) * | 2011-06-15 | 2012-12-19 | 阿里巴巴集团控股有限公司 | 一种网页信息抽取的方法和系统 |
CN103853760A (zh) * | 2012-12-03 | 2014-06-11 | 中国移动通信集团公司 | 一种网页正文内容提取方法和装置 |
CN104376061A (zh) * | 2014-11-10 | 2015-02-25 | 武汉传神信息技术有限公司 | 一种提取网页正文的方法 |
CN108268433A (zh) * | 2018-02-26 | 2018-07-10 | 杭州数梦工场科技有限公司 | 基于网页文章的标题抽取方法及装置 |
CN108920434A (zh) * | 2018-06-06 | 2018-11-30 | 武汉酷犬数据科技有限公司 | 一种通用的网页主题内容提取方法和系统 |
CN109636199A (zh) * | 2018-12-14 | 2019-04-16 | 语联网(武汉)信息技术有限公司 | 一种为待译稿件匹配译员的方法及系统 |
CN111581478A (zh) * | 2020-05-07 | 2020-08-25 | 成都信息工程大学 | 一种特定主体的跨网站通用新闻采集方法 |
CN112101004A (zh) * | 2020-09-23 | 2020-12-18 | 电子科技大学 | 基于条件随机场与句法分析的通用网页人物信息提取方法 |
Non-Patent Citations (3)
Title |
---|
李桐宇;任锐;蔡鸿明;姜丽红;: "基于文本对象模型的自动化网页内容提取方法", 上海交通大学学报, no. 10, 28 October 2018 (2018-10-28) * |
王宇龙;赖华;余正涛;洪旭东;刘书龙;: "融合结构和内容特征提取多类型网页文本要素", 山西大学学报(自然科学版), no. 03, 15 August 2016 (2016-08-15) * |
陈婷婷;严华;臧军;: "基于改进内容分析算法的网页正文提取", 计算机工程与设计, no. 04, 16 April 2018 (2018-04-16) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116629209A (zh) * | 2023-07-25 | 2023-08-22 | 苏州浪潮智能科技有限公司 | 一种数据处理的方法、装置、系统、设备及可读存储介质 |
CN116629209B (zh) * | 2023-07-25 | 2023-11-03 | 苏州浪潮智能科技有限公司 | 一种数据处理的方法、装置、系统、设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105677764B (zh) | 信息提取方法和装置 | |
US10430514B2 (en) | Method and terminal for extracting webpage content, and non-transitory storage medium | |
US8819028B2 (en) | System and method for web content extraction | |
US9471550B2 (en) | Method and apparatus for document conversion with font metrics adjustment for format compatibility | |
US8073865B2 (en) | System and method for content extraction from unstructured sources | |
US8196037B2 (en) | Method and device for extracting web information | |
US20150169511A1 (en) | System and method for identifying floor of main body of webpage | |
CN107153716B (zh) | 网页内容提取方法和装置 | |
CN105205080A (zh) | 冗余文件清理方法、装置和系统 | |
CN108874934B (zh) | 页面正文提取方法和装置 | |
CN107436931B (zh) | 网页正文抽取方法及装置 | |
CN112765941A (zh) | 自动提取网页正文的方法及系统 | |
CN114970502B (zh) | 一种应用于数字政府的文本纠错方法 | |
CN114528811B (zh) | 文章内容抽取方法、装置、设备及存储介质 | |
CN106227770A (zh) | 一种智能化的新闻网页信息抽取方法 | |
CN110795933B (zh) | 一种网页正文的识别处理方法及装置 | |
CN113409111A (zh) | 一种招投标信息处理方法、系统和可读存储介质 | |
CN115391711B (zh) | 网页正文信息提取方法、装置、设备及介质 | |
EP2916238A1 (en) | Corpus generating device, corpus generating method, and corpus generating program | |
CN107451215B (zh) | 特征文本抽取方法及装置 | |
CN113987388A (zh) | 文本显示方法、装置和电子设备 | |
CN111914199B (zh) | 一种页面元素过滤方法、装置、设备及存储介质 | |
CN114329143A (zh) | 一种新闻网页的信息抽取方法及终端 | |
CN108073588B (zh) | 栏目信息提取方法和装置 | |
CN110990671B (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 |