CN115203605A - 网页主内容列表识别方法和装置 - Google Patents
网页主内容列表识别方法和装置 Download PDFInfo
- Publication number
- CN115203605A CN115203605A CN202110377828.9A CN202110377828A CN115203605A CN 115203605 A CN115203605 A CN 115203605A CN 202110377828 A CN202110377828 A CN 202110377828A CN 115203605 A CN115203605 A CN 115203605A
- Authority
- CN
- China
- Prior art keywords
- webpage
- list
- node
- nodes
- main content
- 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
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/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- 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/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
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 Transfer Between Computers (AREA)
Abstract
本申请涉及一种网页主内容列表识别方法和装置。所述方法通过获取待识别网页;提取待识别网页中的网页标签;构建包括预设数目网页标签的网页标签组合,查找网页标签组合对应的最小父节点,根据最小父节点构建待选节点列表;根据待选节点列表获取待识别网页对应的网页主内容列表。本申请在进行网页主内容识别时,主要通过识别网页中多个网页标签的最小父节点来构建待选节点列表,而后基于待选节点列表来进行网页主内容列表的识别,并不依赖于固定框架,能有效针对不同的网页进行有效的自动化智能识别,同时识别结果也不会受到页面结构变动的影响,保证识别准确率。
Description
技术领域
本申请涉及计算机领域,特别是涉及一种网页主内容列表识别方法和装置。
背景技术
随着计算机技术与网页技术的发展,出现了HTML(Hyper Text Markup Language,超文本标记语言)技术。HTML具体是一种标记语言。它包括一系列标签.通过这些标签可以将网络上的文档格式统一,使分散的网络资源连接为一个逻辑整体。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字,图形、动画、声音、表格、链接等。而在HTML文档中,网页标签用于定义超链接,即用于从一个页面链接到另一个页面,即可以通过网页标签可以实现网页间的跳转。
目前,对于一个HTML页面,可以通过特定算法可以自动识别出页面中的主内容列表信息。但是目前的主内容列表识别方法只能捕获固定框架下的主内容列表信息,当网页结构发生变化时,便无法保证网页主内容列表识别的准确率。
发明内容
基于此,有必要针对上述技术问题,提供一种能够有效保证识别准确率的网页主内容列表识别方法、装置、计算机设备和存储介质。
一种网页主内容列表识别方法,所述方法包括:
获取待识别网页;
提取所述待识别网页中的网页标签,所述网页标签用于定义锚或超链接;
构建包括预设数目网页标签的网页标签组合,查找所述网页标签组合对应的最小父节点,根据所述最小父节点构建待选节点列表;
根据所述待选节点列表获取所述待识别网页对应的网页主内容列表。
一种网页主内容列表识别装置,所述装置包括:
网页获取模块,用于获取待识别网页;
标签提取模块,用于提取所述待识别网页中的网页标签,所述网页标签用于定义锚或超链接;
列表构建模块,用于构建包括预设数目网页标签的网页标签组合,查找所述网页标签组合对应的最小父节点,根据所述最小父节点构建待选节点列表;
主内容获取模块,用于根据所述待选节点列表获取所述待识别网页对应的网页主内容列表。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取待识别网页;
提取所述待识别网页中的网页标签,所述网页标签用于定义锚或超链接;
构建包括预设数目网页标签的网页标签组合,查找所述网页标签组合对应的最小父节点,根据所述最小父节点构建待选节点列表;
根据所述待选节点列表获取所述待识别网页对应的网页主内容列表。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取待识别网页;
提取所述待识别网页中的网页标签,所述网页标签用于定义锚或超链接;
构建包括预设数目网页标签的网页标签组合,查找所述网页标签组合对应的最小父节点,根据所述最小父节点构建待选节点列表;
根据所述待选节点列表获取所述待识别网页对应的网页主内容列表。
上述网页主内容列表识别方法、装置、计算机设备和存储介质,通过获取待识别网页;提取待识别网页中的网页标签;构建包括预设数目网页标签的网页标签组合,查找网页标签组合对应的最小父节点,根据最小父节点构建待选节点列表;根据待选节点列表获取待识别网页对应的网页主内容列表。本申请在进行网页主内容识别时,主要通过识别网页中多个网页标签的最小父节点来构建待选节点列表,而后基于待选节点列表来进行网页主内容列表的识别,并不依赖于固定框架,能有效针对不同的网页进行有效的自动化智能识别,同时识别结果也不会受到页面结构变动的影响,保证识别准确率。
附图说明
图1为一个实施例中网页主内容列表识别方法的应用环境图;
图2为一个实施例中网页主内容列表识别方法的流程示意图;
图3为一个实施例中剔除网页标签中的异常标签步骤的流程示意图;
图4为一个实施例中构建待选节点列表步骤的流程示意图;
图5为一个实施例中获取待识别网页对应的网页主内容列表步骤的流程示意图;
图6为一个实施例中网页主内容列表识别装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的网页主内容列表识别方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。终端102可以向服务器104提供待识别网页相关数据,而后由服务器来对待识别网页内的主内容列表进行识别。其中由终端102提供的待识别网页的链接地址。服务器获取待识别网页;提取待识别网页中的网页标签,所述网页标签用于定义锚;查找包括预设数目网页标签的网页标签组合对应的最小父节点,根据最小父节点构建待选节点列表;根据待选节点列表获取待识别网页对应的网页主内容列表。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。在另一个实施例中,本申请的网页主内容列表识别方法也可以应用于终端,通过终端来实现。
在一个实施例中,如图2所示,提供了一种网页主内容列表识别方法,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤:
步骤201,获取待识别网页。
其中待识别网页是指本申请的网页主内容列表识别方法的识别对象,待识别网页具体为web页面,即HTML页面。待识别网页中包含若干的内容块,内容块上记载有网页的具体内容,而通过本申请的网页主内容列表识别方法,即可识别出待识别网页对应的主内容。
具体地,本申请具体可以通过基于JavaScript的网页操作方法来完成对种网页主内容列表识别。具体地,本申请采用DOM树的方式来进行网页的操作,其中DOM为JavaScript操作网页的接口,全称为“文档对象模型”(Document Object Model)。而DOM树则是HTML页面内容结构节点自上而下组成的一棵树。首先,服务器104在进行网页主内容识别时,需要先获取待识别网页。该待识别网页由终端102提交,终端102提交的具体可以为待识别网页的网页链接。而后服务器104根据待识别网页的网页链接直接获取渲染之后的网页内容(保证单页面服务端渲染的页面也可以获取到网页数据),一般可以使用puppeteer或者chromium来抓取,保证页面内容的完整性。当服务器104基于待识别网页的网页链接,创建了对应的待识别网页并将其加载到WEB浏览器时,网页对应的DOM树也随之生成,而本申请则基于对DOM树以及DOM树中节点的操作,来识别网页的主内容列表。
步骤203,提取待识别网页中的网页标签,网页标签用于定义锚或超链接。
其中,网页标签具体是HTML是页面标签,用于定义超链接(用于从一张页面链接到另一张页面)或锚(用于从页面当前位置跳转至指定锚点),它最重要的属性是href属性,指示链接的目标。在其中一个实施例中,本申请中的网页标签具体为锚标签,又称A标签,所有浏览器都支持锚标签。锚标签的用途包括锚点跳转、链接跳转、按钮点击以及链接下载等事件。锚标签又称为A标签,其格式为<a>content</a>。本申请主要基于网页标签之间的关系确定最小父节点,从而来进行网页主内容识别,因此在进行识别时要先提取出待识别网页中的网页标签。
具体地,在进行网页标签识别时,可以通过JavaScript来提取待识别网页中的网页标签,例如在一个具体的实施例中,可以以正则表达式的形式,从渲染之后的HTML页面中提取出网页标签。同时在提取网页标签时,为了后续内容识别的准确率,还可以进行异常识别惭怍,将提取出的网页标签中的异常标签滤除。
步骤205,构建包括预设数目网页标签的网页标签组合,查找网页标签组合对应的最小父节点,根据最小父节点构建待选节点列表。
其中,对于HTML的DOM树而言,根据W3C(World Wide Web Consortium,网际网路联盟)的HTML DOM标准,HTML文档中的所有内容都是节点:整个文档是一个文档节点,每个HTML元素是元素节点,HTML元素内的文本是文本节点,每个HTML属性是属性节点,注释是注释节点。HTML DOM将HTML文档视作树结构。这种结构被称为节点树,因此,可以将网页标签视为一个节点。节点树中的节点彼此拥有层级关系。通常采用父(parent)、子(child)和同胞(sibling)等术语来描述这些关系。父节点拥有子节点。同级的子节点被称为同胞(兄弟或姐妹)。因此,可以将网页标签视为子节点,将网页标签对应层级关系的上层视为父节点。在节点树中,顶端节点被称为根(root)。每个节点都有父节点、除了根(它没有父节点)。一个节点可拥有任意数量的子节点。同胞是拥有相同父节点的节点。而预设数目的网页标签对应的最小父节点,则具体是指针对多个不同的网页标签,查找其对应的最小父节点,可能是这些标签的上层节点,也可能是这些网页标签的上层节点的更上层节点。而后基于这些查找到的父节点来构建待选节点的列表。而对于列表,列表在本申请是指一组具有相同节点类型以及内部结构,同一父节点的节点组合,本文中涉及到的列表一般指该类相同类型以及内部结构的节点的父节点。其中预设数目可以为2,3,4,5等数值,但是通过实验,当预设数目为3时,网页主内容列表识别的内容识别准确率最高,方案具备最优的使用效果。
具体地,本申请主要基于网页标签的最小父节点的筛选,来识别网页主内容,同时构建相应的网页主内容列表,在识别过程中,先获取网页标签,而后可查找网页标签对应的父节点。例如在一个具体实施例中,预设数目为3,识别出的网页标签包括标签1,2,3,4,5,6。此时,若预设数目为3,则需要先构建出{1,2,3},{1,2,4},{1,2,5},{1,2,6},{1,3,4},{1,3,5},{1,3,6},{1,4,5},{1,4,6}以及{1,5,6}这十个网页标签组合,而后查找这10个网页标签组合对应的最小父节点。而后根据这查找到的10个父节点,构建待选节点列表。在这个过程中还需要对待选节点列表中的父节点进行去重等操作。
步骤207,根据待选节点列表获取待识别网页对应的网页主内容列表。
具体地,在得到待选节点列表后,由于待选列表中的节点的数量可能会大于1,而网页主内容识别出的对应应只有主内容一个部分。因此,本申请还需要再针对待选节点列表进行筛选,在其中一个实施例中,这一部分的筛选可以基于待选节点列表内不同节点的高度来进行识别筛选。从而得到待识别网页对应的网页主内容列表,得到的网页主内容列表具体包括网页页面上的网页主题内容,并且是以相同的页面结构组成的一个页面列表。
在其中一个实施例中,如图3所示,步骤207包括:
步骤302,当待选节点列表内节点不唯一时,识别待选节点列表中的异常节点。
步骤304,剔除待选节点列表内的异常节点。
步骤306,根据剔除异常节点后的待选节点列表,获取待识别网页对应的网页主内容列表。
其中,异常节点包括位置异常的节点以及高度异常的节点等。具体地,在进行主内容识别时,还需要排除掉非主内容部分的最小父节点,筛选出更有价值的网页主内容列表节点。因此,在待选节点列表内节点不唯一时,可以先识别待选节点列表中的异常节点,而后去除掉这些异常节点后再进行相应的网页主内容列表识别,本实施例中,通过剔除待选节点列表中的异常节点,可以有效地提高网页主内容列表的识别准确率。
在其中一个实施例中,步骤308包括:获取剔除异常节点后的待选节点列表的列表长度;根据列表长度识别待识别网页对应的网页主内容列表。
具体地,剔除异常节点后的待选节点列表的列表长度具体是指待选节点列表内的节点数目,一般对于一个网页只包括一个主题,即网页主内容列表内的节点也应只包含一个。因此,在最后,可以通过待选节点列表的列表长度,来确定最终的网页主内容列表的识别方法。本实施例中,通过根据列表长度识别待识别网页对应的网页主内容列表,可以更有效地选取网页主内容列表来进行准确的网页主内容识别。
在其中一个实施例中,根据列表长度识别待识别网页对应的网页主内容列表包括:当列表长度表征待选节点列表内节点唯一时,将待选节点列表内的节点作为待识别网页对应的网页主内容列表;当列表长度表征待选节点列表内节点不唯一时,获取剔除异常节点后的待选节点列表中每个节点的高度,将高度最大的节点作为待识别网页对应的网页主内容列表。
具体地,网页的列表是以相同的页面结构组成的一个页面列表,而本申请所涉及到的列表一般指该类相同类型以及内部结构的节点的父节点。而网页主内容列表包含的元素为上述的最小父节点,最小父节点可以作为网页主内容列表识别方法的识别结果。因此,当列表长度表征待选节点列表内节点唯一,即列表长度为1时,剔除异常节点后的待选节点列表内只包含一个节点,即列表内只包含一个最小父节点,因此可以将剔除异常节点后的待选节点列表内的节点作为待识别网页对应的网页主内容列表。而当列表长度表征待选节点列表内节点不唯一时,即列表长度大于1时,可以通过比较节点的高度来确定哪个节点与网页主内容列表。具体可以获取剔除异常节点后的待选节点列表中每个节点的高度,而后通过比较不同节点的高度,挑选出高度最大的节点。并将高度最大的节点作为待识别网页对应的网页主内容列表,此处挑选高度最大的节点作为网页主内容节点的原因在于,DOM树内节点的高度具体是指内容定义高度,即节点对应元素内容的高度。一般而言,对于网页的主内容部分,其内容块的高度都会处于一个比较固定的范围内,同时节点高度的比较也能展示不同节点内对应内容的重要性。因此可以基于节点的高度,来进行网页主内容的识别。同时,HTML网页作为网页内容的载体,因此需要呈现给用户的网页主内容一般需要占据网页的最大篇幅,而其他的渲染以及广告等内容则相对于网页主内容部分占据更小的的篇幅,而节点的高度即内容定义高度,也可视为内容所占据的篇幅高度,因此在进行网页主内容识别时,可以将高度最大的节点作为待识别网页对应的网页主内容列表。特别的,当列表长度为0时,即剔除异常节点后的待选节点列表内不包含任何节点时,可以确定待识别网页没有对应的主内容列表。本实施例中,通过待选节点列表的列表长度以及待选节点列表来进行待识别网页对应的网页主内容列表的识别,可以有效提高识别的准确率。
在其中一个实施例中,异常节点包括位置异常节点,步骤302包括:当待选节点列表内节点不唯一时,获取待识别网页对应文档的垂直中心线;当垂直中心线未穿过待选节点列表内节点的内容块时,将垂直中心线未穿过内容块的节点判定为位置异常节点。
其中,待识别网页对应的文档的垂直中心线是指待识别网页的HTML文档页面的垂直中心线,该垂直中心线的两端分别为HTML文档页面的上边界中心以及下边界中心。对于包含网页主内容部分的内容块,其无疑会穿过HTML文档页面的垂直中心线,以使网页的读者也可更方便地得到网页中所记载的主要内容。因此,可以将内容块是否穿过待识别网页对应文档的垂直中心线作为一个判断依据,当内容块穿过HTML文档页面的垂直中心线时,其不一定是网页主内容,但是当内容块未穿过HTML文档页面的垂直中心线时,其不一定是网页主内容,因此,可以通过将未穿过HTML文档页面的垂直中心线的内容块对应的节点,从待选节点列表中排除,来进行网页主内容识别的调优处理。
具体地,在进行主内容识别时,还需要排除掉非主内容部分的最小父节点,筛选出更有价值的网页主内容列表节点。在此过程中,可以通过待识别网页的HTML文档页面的垂直中心线来进行位置异常识别。一般而言,对于网页页面布局而言,其主要内容一般放置在网页文档的中心位置,以给网页读者的最优的阅读体验,而在网页文档的左右两边位置处则是外链或者广告等非主要内容的部分。因此,可以基于待选节点列表内节点的内容块是否穿过垂直中心线来进行位置异常判定,将不处于网页中央的节点作为异常节点,将其剔除。本实施例中,通过待选节点列表内节点的位置来识别待选节点列表内的异常节点,可以有效提高网页主内容列表识别的准确率。
在其中一个实施例中,异常节点包括高度异常节点,当待选节点列表内节点不唯一时,识别待选节点列表中的异常节点包括:当待选节点列表内节点不唯一时,获取待选节点列表内节点的高度;当待选节点列表内节点的高度低于预设高度阈值时,将节点的高度低于预设高度阈值的节点判定为高度异常节点。
具体地,在进行主内容识别时,还需要排除掉非主内容部分的最小父节点,筛选出更有价值的网页主内容列表节点。在此过程中,可以通过待选节点列表内节点的高度来进行高度异常的识别。对于待选节点列表内节点的高度低于预设高度阈值的节点,当节点对应的内容块位于网页中心时,其内容也不一定为网页主内容,在网页文档的顶端或者低端也一般是外链或者广告等非主要内容的部分。而对于这些部分的内容,其节点高度一般较低,因此也可以将其作为异常的节点进行剔除,从而即可得到最终的待识别网页对应的网页主内容列表。而对于预设高度阈值的具体值,可以根据实验来调优获取,例如在一个实施例中,可以将预设高度阈值设置为200px,当待选节点列表内节点的高度低于200px时,即可将其作为异常节点。本实施例中,通过待选节点列表内节点的高度来识别待选节点列表内的异常节点,可以有效提高网页主内容列表识别的准确率。
上述网页主内容列表识别方法,通过获取待识别网页;提取待识别网页中的网页标签;构建包括预设数目网页标签的网页标签组合,查找网页标签组合对应的最小父节点,根据最小父节点构建待选节点列表;根据待选节点列表获取待识别网页对应的网页主内容列表。本申请在进行网页主内容识别时,主要通过识别网页中多个网页标签的最小父节点来构建待选节点列表,而后基于待选节点列表来进行网页主内容列表的识别,并不依赖于固定框架,能有效针对不同的网页进行有效的自动化智能识别,同时识别结果也不会受到页面结构变动的影响,保证识别准确率。
在一个实施例中,步骤205之前,还包括:识别多个网页标签中的异常标签;剔除多个网页标签中的异常标签。步骤205包括:构建包括预设数目的剔除隐藏标签后的网页标签的网页标签组合。
其中,异常标签是指不能视为网页正常内容部分的标签,如上,网页标签是HTML页面标签,用于定义超链接(用于从一张页面链接到另一张页面)或锚(用于从页面当前位置跳转至指定锚点),它最重要的属性是href属性,指示链接的目标。而当网页标签异常时,如网页标签为隐藏标签或者网页标签无法正常显示时,其无法展示相应的网页内容,此时不应当将其作为网页主内容的识别依据,因此,可以在构建网页标签组合前,识别出其中的异常标签,并将其剔除,从而提高后续网页主内容提取的准确率。
在其中一个实施例中,如图4所示,异常标签包括显示效果异常标签,识别多个网页标签中的异常标签包括:
步骤401,获取网页标签的显示效果数据,显示效果数据包括内容长度信息、显示高度信息以及显示宽度信息中的一个或多个;
步骤403,根据显示效果数据识别网页标签中的异常标签。
其中,网页标签的内容长度信息具体可以是指网页标签所包含内容的字符长度信息,如果字符长度低于预设内容长度阈值,则可以判断该网页标签为异常的标签,无法根据其识别出网页主内容列表。此外,如果网页标签的显示高度信息或者显示宽度信息也出现异常时,也可以将其作为异常的网页标签。例如对于显示的时候宽或者是高为零的网页标签,在正常的网页页面上根本无法显示,网页的读者也无法从中获取信息,毫无疑问是异常的网页标签。
具体地,在提取待识别网页中的网页标签之后,查找网页标签对应的最小父节点之前,为了提高主内容列表的识别准确率,可以进行异常标签的识别,除了通过是否是隐藏标签的判定过程外,还可以通过网页标签本身的属性来进行识别。基于网页标签自身的长度,网页标签在网页页面上显示的长度或者宽度来进行异常识别。在一个具体的实施例中,网页标签内容少于预设字符数量阈值、显示的时候宽或者是高为零的网页标签等等,剔除之后得到有效的网页标签列表。其中,对于异常的内容长度,通过多次实验以及观察后,当确定将网页标签的内容少于4个字符时,是对应的内容一般为广告或者外链连接,因此可以将预设内容长度阈值设置为4字符,此时网页主内容列表识别的准确率最高。本实施例中,通过在提取网页标签后,识别并剔除出其中包含的异常标签后再进行页主内容列表识别,可以有效提高网页主内容列表识别的准确率。
在一个实施例中,异常标签包括隐藏标签,剔除多个网页标签中的异常标签包括:当多个网页标签中存在属于隐藏标签的网页标签时,剔除多个网页标签中的隐藏标签,隐藏标签未显示于待识别网页中;步骤205包括:构建包括预设数目的剔除隐藏标签后的网页标签的网页标签组合。
其中,隐藏标签(Hidden Tags)是指在网页内容中不进行显示的标签,HTML语言中有很多标签是不显示的,比如:<META content>、<SCRIPT>、<STYLE>等,在这些标签中堆砌一些希望获得排名的关键词,可以提高关键字密度,而且不影响阅读。隐藏标签包括隐藏文字,隐藏页面以及隐藏链接等。其中隐藏文字是指在网页的HTML文件中放上含有关键词的文字,但这些字不能被用户所看到,只有搜索引擎才能进行读取,一般有超小字号的文字,与背景同样颜色的文字,放在评论标签当中的文字,放在表格input标签里面的文字,通过样式表把文字放在不可见的层上面等等。其目的也都是想提高网页的相关性。有的时候,有的人还在这些地方放上与网站内容无关的,但是很热门的关键词,希望网页能在这些热门关键词下得到好的排名和流量。隐藏页面是一种障眼法的优化,让普通用户和搜索引擎看到的页面是不同的版本,如果是搜索引擎,则返回一个高度优化,甚至优化到已经没法读的页面;如果是正常用户,则返回一个不考虑seo、给用户看的正常页面。隐藏链接和隐藏文字相似,但是区别是把关键词放在链接里面,而这个链接也是用户所看不到的。
具体地,在提取待识别网页中的网页标签之后,查找网页标签对应的最小父节点之前,为了提高主内容列表的识别准确率,可以进行异常标签的识别,首先对于隐藏标签,因为这部分标签不是显示给网页用户看到的,因此不会参与网页主题,即与网页主内容列表识别无关,因此可以将其作为异常标签进行排除。本实施例中,通过在提取网页标签后,识别并剔除出其中包含的隐藏标签后再进行页主内容列表识别,可以有效提高网页主内容列表识别的准确率。
其中一个实施例中,如图5所示,步骤205包括:
步骤502,查找包括预设数目网页标签的网页标签组合对应的最小父节点。
步骤504,对查找到的最小父节点进行去重处理,根据去重处理结果构建待选节点列表。
其中,去重主要用于去除待选节点列表中重复出现的最小父节点,从而保证网页主内容列表识别的准确率。具体的,对于得到的,预设数目的网页标签对应的最小父节点。可能存在多组网页标签对应同一个网页标签的情况,因此构建的待选节点列表内会出现多个相同的父节点的情况。此时,为了避免后续处理过程出现错误,可以在查找到最小父节点后,直接识别查找到的所有最小父节点中重复的节点,而后进行去重处理,对于多个相同的父节点,仅保留一个,删去多余的重复节点。
具体地,在查找到网页中所有的网页标签组合对应最小父节点后,为了防止出现最小父节点的重复,可以进行去重处理。在其中一个实施例中,可以通过HTML DOM的isSameNode()方法,对所得到的最小父节点进行两两直接的判断,识别其中重复的最小父节点。isSameNode()方法可在某个节点与给定的节点是同一个节点时返回true,否则返回false。可以有效地识别出所得最小父节点中的重复节点,从而进行有效去重。本实施例中,通过对最小父节点进行去重处理,可以有效保证待选节点列表构建的准确性。
本申请还提供一种应用场景,该应用场景应用上述的网页主内容列表识别方法。具体地,该网页主内容列表识别方法在该应用场景的应用如下:
当进行新闻网站的网页内容的统计时,终端方需要确定指定内容的新闻都已发布到网页页面上,因此需要对指定网页内的网页主内容列表进行识别,此时终端可以提交这些新闻的网页链接至服务器,有服务器来对这些新闻的网页页面内网页主内容列表进行识别。在进行识别时,服务器依次对各个网页内的网页主内容列表进行识别。在针对单个网页页面进行识别时,服务器首先基于获取的网页链接,使用puppeteer获取渲染之后的待识别网页的网页内容,而后提取出该网页页面内所有的网页标签,并且剔除其中不正常的网页标签,这里不正常的网页标签包括隐藏标签、网页标签内容长度少于4个字符、标签显示的时候宽或者是高为零的网页标签等等,剔除之后得到有效的网页标签列表。在有效的网页标签列表中,以每三个网页标签为一个序列,找出三个网页标签公共的最小父节点,而后将所获得的所有父节点去重之后得到待选节点列表,如果得到的待选节点列表内节点不唯一,则在进行待选节点列表内节点的筛选,包括:(1)获取节点的高度,高度小于固定阈值200px的,将其剔除;(2)获取待识别网页对应HTML文档整个文档的宽度,基于宽度找到HTML文档的垂直中心线,保证垂直中心线穿过待选节点列表内节点的内容块,没有穿过的,将其剔除出待选节点列表。而后最终得到的列表来进行网页主内容识别,如果列表长度为0,则表示待识别网页没有对应的主内容列表;如果列表长度为1,则里面的那个节点就是待识别网页的主内容列表;如果列表长度大于1,则再遍历待选节点列表,来获取其中每个节点的高度,取高度最大的为待识别网页的页面主内容列表。
应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供了一种网页主内容列表识别装置600,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:网页获取模块601、标签提取模块603、列表构建模块605和主内容获取模块607,其中:
网页获取模块601,用于获取待识别网页。
标签提取模块603,用于提取待识别网页中的网页标签,网页标签用于定义锚或超链接。
列表构建模块605,用于构建包括预设数目网页标签的网页标签组合,查找网页标签组合对应的最小父节点,根据最小父节点构建待选节点列表。
主内容获取模块607,用于根据待选节点列表获取待识别网页对应的网页主内容列表。
在其中一个实施例中,还包括异常标签识别模块,用于:识别多个网页标签中的异常标签;剔除多个网页标签中的异常标签;列表构建模块605具体用于:构建包括预设数目的剔除隐藏标签后的网页标签的网页标签组合。
在其中一个实施例中,异常标签识别模块还用于:获取网页标签的显示效果数据,显示效果数据包括内容长度信息、显示高度信息以及显示宽度信息中的一个或多个;根据显示效果数据识别网页标签中的异常标签。
在其中一个实施例中,异常标签识别模块还用于:当多个网页标签中存在属于隐藏标签的网页标签时,剔除多个网页标签中的隐藏标签,隐藏标签未显示于待识别网页中;列表构建模块605具体用于:构建包括预设数目的剔除隐藏标签后的网页标签的网页标签组合。
在其中一个实施例中,列表构建模块605还用于:查找标签组合对应的最小父节点;对查找到的最小父节点进行去重处理,根据去重处理结果构建待选节点列表。
在其中一个实施例中,主内容获取模块607具体用于:当待选节点列表内节点不唯一时,识别待选节点列表中的异常节点;剔除待选节点列表内的异常节点;根据剔除异常节点后的待选节点列表,获取待识别网页对应的网页主内容列表。
在其中一个实施例中,主内容获取模块607还用于:获取剔除异常节点后的待选节点列表的列表长度;根据列表长度识别待识别网页对应的网页主内容列表。
在其中一个实施例中,主内容获取模块607还用于:当列表长度表征待选节点列表内节点唯一时,将待选节点列表内的节点作为待识别网页对应的网页主内容列表;当列表长度表征待选节点列表内节点不唯一时,获取剔除异常节点后的待选节点列表中每个节点的高度,将高度最大的节点作为待识别网页对应的网页主内容列表。
在其中一个实施例中,异常节点包括位置异常节点,主内容获取模块607还用于:当待选节点列表内节点不唯一时,获取待识别网页对应文档的垂直中心线;当垂直中心线未穿过待选节点列表内节点的内容块时,将垂直中心线未穿过内容块的节点判定为位置异常节点。
在其中一个实施例中,异常节点包括高度异常节点,主内容获取模块607还用于:当待选节点列表内节点不唯一时,获取待选节点列表内节点的高度;当待选节点列表内节点的高度低于预设高度阈值时,将节点的高度低于预设高度阈值的节点判定为高度异常节点。
关于网页主内容列表识别装置的具体实施例可以参见上文中对于网页主内容列表识别方法的实施例,在此不再赘述。上述网页主内容列表识别装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备700,该计算机设备700可以是服务器,其内部结构图可以如图7所示。该计算机设备700包括通过系统总线701连接的处理器702、存储器和网络接口704。其中,该计算机设备700的处理器702用于提供计算和控制能力。该计算机设备700的存储器包括非易失性存储介质705、内存储器703。该非易失性存储介质705存储有操作系统706、计算机程序707和数据库708。该内存储器703为非易失性存储介质705中的操作系统706和计算机程序707的运行提供环境。该计算机设备的数据库708用于存储输入的待分类图数据以及数据分类方法执行过程中的运行数据。该计算机设备的网络接口704用于与外部的终端通过网络连接通信。该计算机程序707被处理器702执行时以实现一种数据分类方法。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种网页主内容列表识别方法,其特征在于,所述方法包括:
获取待识别网页;
提取所述待识别网页中的多个网页标签,所述网页标签用于定义锚或超链接;
构建包括预设数目网页标签的网页标签组合,查找所述网页标签组合对应的最小父节点,根据所述最小父节点构建待选节点列表;
根据所述待选节点列表获取所述待识别网页对应的网页主内容列表。
2.根据权利要求1所述的方法,其特征在于,所述构建包括预设数目网页标签的网页标签组合之前,还包括:
识别所述多个网页标签中的异常标签;
剔除所述多个网页标签中的异常标签;
所述构建包括预设数目网页标签的网页标签组合包括:
构建包括预设数目的剔除隐藏标签后的网页标签的网页标签组合。
3.根据权利要求2所述的方法,其特征在于,所述异常标签包括显示效果异常标签,所述识别所述多个网页标签中的异常标签包括:
获取所述网页标签的显示效果数据,所述显示效果数据包括内容长度信息、显示高度信息以及显示宽度信息中的一个或多个;
根据所述显示效果数据识别所述网页标签中的异常标签。
4.根据权利要求2所述的方法,其特征在于,所述异常标签包括隐藏标签,所述剔除所述多个网页标签中的异常标签包括:
当所述多个网页标签中存在属于隐藏标签的网页标签时,剔除所述多个网页标签中的隐藏标签,所述隐藏标签未显示于所述待识别网页中;
所述构建包括预设数目网页标签的网页标签组合包括:
构建包括预设数目的剔除隐藏标签后的网页标签的网页标签组合。
5.根据权利要求1所述的方法,其特征在于,所述根据所述待选节点列表获取所述待识别网页对应的网页主内容列表包括:
当所述待选节点列表内节点不唯一时,识别所述待选节点列表中的异常节点;
剔除所述待选节点列表内的异常节点;
根据剔除异常节点后的待选节点列表,获取待识别网页对应的网页主内容列表。
6.根据权利要求5所述的方法,其特征在于,所述根据剔除异常节点后的待选节点列表,获取待识别网页对应的网页主内容列表包括:
获取剔除异常节点后的待选节点列表的列表长度;
根据所述列表长度识别待识别网页对应的网页主内容列表。
7.根据权利要求6所述的方法,其特征在于,所述根据所述列表长度识别待识别网页对应的网页主内容列表包括:
当所述列表长度表征所述待选节点列表内节点唯一时,将所述待选节点列表内的节点作为待识别网页对应的网页主内容列表;
当所述列表长度表征所述待选节点列表内节点不唯一时,获取剔除异常节点后的待选节点列表中每个节点的高度,将高度最大的节点作为待识别网页对应的网页主内容列表。
8.根据权利要求5所述的方法,其特征在于,所述异常节点包括位置异常节点,所述当所述待选节点列表内节点不唯一时,识别所述待选节点列表中的异常节点包括:
当所述待选节点列表内节点不唯一时,获取待识别网页对应文档的垂直中心线;
当所述垂直中心线未穿过所述待选节点列表内节点的内容块时,将所述垂直中心线未穿过内容块的节点判定为位置异常节点。
9.根据权利要求5所述的方法,其特征在于,所述异常节点包括高度异常节点,所述当所述待选节点列表内节点不唯一时,识别所述待选节点列表中的异常节点包括:
当所述待选节点列表内节点不唯一时,获取所述待选节点列表内节点的高度;
当所述待选节点列表内节点的高度低于预设高度阈值时,将节点的高度低于预设高度阈值的节点判定为高度异常节点。
10.一种网页主内容列表识别装置,其特征在于,所述装置包括:
网页获取模块,用于获取待识别网页;
标签提取模块,用于提取所述待识别网页中的网页标签,所述网页标签用于定义锚或超链接;
列表构建模块,用于构建包括预设数目网页标签的网页标签组合,查找所述网页标签组合对应的最小父节点,根据所述最小父节点构建待选节点列表;
主内容获取模块,用于根据所述待选节点列表获取所述待识别网页对应的网页主内容列表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110377828.9A CN115203605A (zh) | 2021-04-08 | 2021-04-08 | 网页主内容列表识别方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110377828.9A CN115203605A (zh) | 2021-04-08 | 2021-04-08 | 网页主内容列表识别方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115203605A true CN115203605A (zh) | 2022-10-18 |
Family
ID=83571295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110377828.9A Pending CN115203605A (zh) | 2021-04-08 | 2021-04-08 | 网页主内容列表识别方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115203605A (zh) |
-
2021
- 2021-04-08 CN CN202110377828.9A patent/CN115203605A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7904455B2 (en) | Cascading cluster collages: visualization of image search results on small displays | |
US8046681B2 (en) | Techniques for inducing high quality structural templates for electronic documents | |
US8719291B2 (en) | Information extraction using spatial reasoning on the CSS2 visual box model | |
US20130339840A1 (en) | System and method for logical chunking and restructuring websites | |
US20090248707A1 (en) | Site-specific information-type detection methods and systems | |
US11550856B2 (en) | Artificial intelligence for product data extraction | |
US9904936B2 (en) | Method and apparatus for identifying elements of a webpage in different viewports of sizes | |
RU2696305C2 (ru) | Браузинг изображений через интеллектуально проанализированные связанные гиперссылкой фрагменты текста | |
JP6827116B2 (ja) | ウェブページのクラスタリング方法及び装置 | |
JP2008515049A (ja) | 文書構造に基づいた検索結果の表示 | |
Song et al. | A hybrid approach for content extraction with text density and visual importance of DOM nodes | |
US11256912B2 (en) | Electronic form identification using spatial information | |
US20220366241A1 (en) | System and Method for Element Detection and Identification of Changing Elements on a Web Page | |
WO2021068681A1 (zh) | 标签分析方法、装置及计算机可读存储介质 | |
CN103942211B (zh) | 一种正文页的识别方法及装置 | |
CN112818200A (zh) | 基于静态网站的数据爬取及事件分析方法及系统 | |
CN114021042A (zh) | 网页内容的提取方法、装置、计算机设备和存储介质 | |
CN114443928A (zh) | 一种网络文本数据爬虫方法与系统 | |
Gali et al. | Extracting representative image from web page | |
Alcic et al. | Measuring performance of web image context extraction | |
CN109948015B (zh) | 一种元搜索列表结果抽取方法及系统 | |
WO2023136875A1 (en) | List extraction and visualization in web pages | |
CN115391711A (zh) | 网页正文信息提取方法、装置、设备及介质 | |
CN115186240A (zh) | 基于关联性信息的社交网络用户对齐方法、装置、介质 | |
CN115203605A (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 |