CN112612990A - 网页解析方法、系统及计算机可读存储介质 - Google Patents
网页解析方法、系统及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112612990A CN112612990A CN202011643216.1A CN202011643216A CN112612990A CN 112612990 A CN112612990 A CN 112612990A CN 202011643216 A CN202011643216 A CN 202011643216A CN 112612990 A CN112612990 A CN 112612990A
- Authority
- CN
- China
- Prior art keywords
- webpage
- block
- web page
- hyperlink
- page
- 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/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- 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)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种网页解析方法、系统及计算机可读存储介质,所述方法包括:获取网站列表页的所有超链接标签及其对应的父标签路径;根据每个超链接标签对应的父标签路径对所有超链接标签进行分组,以得到多个网页区块,其中,每个网页区块包括一个或多个超链接标签;根据每个网页区块的布局位置从多个网页区块中确定目标列表对应的网页区块。本发明能够在网站的网页结构或者UI界面的显示区域发生改变时,通过相应的识别规则自动从变化后的列表页中识别得到目标列表对应的网页区块,从而确定指向内容页的超链接标签,避免了人工设置列表页的解析规则,降低了维护成本。
Description
技术领域
本发明涉及数据采集领域,尤其涉及一种网页解析方法、系统及计算机可读存储介质。
背景技术
随着网络技术的迅速发展,互联网成为大量数据信息的载体,为了有效地提取并利用这些信息,通常采用网络爬虫的方式进行数据采集。例如,政府网站将会公开各种各样的政府公开信息,通过网络爬虫对这些网站进行数据爬取,即可获得网站的内容信息。
然而现有的政府网站是由各级政府的各类部门进行建立和维护管理,各个政府网站的网页结构各异,同时,其他内容类网站也是网络爬虫爬取数据的主要对象,且每个内容类网站的网页结构也互不相同。目前,常用的网页结构解析方式是通过Xpath或正则表达式进行数据爬取,或者基于网页模板和规则进行数据提取。对于Xpath或正则表达式进行数据爬取的方式,在网页结构发生变化时,将会导致数据爬取失败,从而需要根据网页结构实时调整爬取规则,需要消耗大量的维护成本。对于基于网页模板进行数据提取的方式,由于每个网站需要对应一个模板,在需要爬取的网站数量较多时,需求的模板数量过大,导致模板提取的方式扩展性较低。并且在网站发生变化时,模板同样需要进行相应调整,也需要较高的维护成本。
发明内容
本发明的主要目的在于提供一种网页解析方法、系统及计算机可读存储介质,旨在解决网页结构发生变化时需要维护相应的爬取规则的问题。
为实现上述目的,本发明提供一种网页解析方法,包括以下步骤:
获取网站列表页的所有超链接标签及其对应的父标签路径;
根据每个超链接标签对应的父标签路径对所有超链接标签进行分组,以得到多个网页区块,其中,每个网页区块包括一个或多个超链接标签;
根据每个网页区块的布局位置从多个网页区块中确定目标列表对应的网页区块。
可选地,所述根据每个网页区块的布局位置从多个网页区块中确定目标列表对应的网页区块的步骤包括:
对每个网页区块进行定位,以确定每个网页区块的显示位置;
根据每个网页区块的显示位置从多个网页区块中确定目标列表对应的网页区块。
可选地,所述对每个网页区块进行定位,以确定每个网页区块的显示位置的步骤包括:
对每个超链接标签分别进行标签定位,以得到每个超链接标签的显示区域;
根据每个超链接标签的显示区域确定每个超链接标签对应的位置坐标;
根据每个网页区块中的超链接标签对应的位置坐标计算得到每个网页区块对应的平均坐标位置。
可选地,所述目标列表为内容页列表,所述根据每个网页区块的显示位置从多个网页区块中确定目标列表对应的网页区块的步骤包括:
根据每个网页区块的平均坐标位置确定每个网页区块与网页垂直中线的坐标距离;
根据每个网页区块与网页垂直中线的坐标距离,将与网页垂直中线的距离最短的网页区块确定为内容页列表对应的网页区块。
可选地,所述对每个网页区块进行定位,以确定每个网页区块的显示位置的步骤之前,还包括:
获取每个超链接标签的文本长度;
计算得到每个网页区块中超链接标签的平均长度;
根据每个网页区块中超链接标签的平均长度对多个网页区块进行一次筛选。
可选地,所述根据每个网页区块中超链接标签的平均长度对多个网页区块进行一次筛选的步骤之后,还包括:
获取一次筛选后的每个网页区块中超链接标签的数量;
根据一次筛选后的每个网页区块中超链接标签的数量对多个网页区块进行二次筛选。
可选地,所述获取网站列表页的所有超链接标签及其对应的父标签路径的步骤包括:
通过Web测试工具控制浏览器开启网站列表页,并对所述网站列表页进行渲染解析,以生成由各个不同类型的网页标签组成的标签树;
从所述标签树中获取所有超链接标签以及每个超链接标签分别对应的父标签路径。
可选地,所述根据每个网页区块的布局位置从多个网页区块中确定目标列表对应的网页区块的步骤之后,还包括:
爬取目标列表对应的网页区块中每个超链接标签对应的链接页面,以获取所述链接页面中的内容信息。
此外,为实现上述目的,本发明还提供一种网页解析系统,所述网页解析系统包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的网页解析程序,其中:所述网页解析程序被所述处理器执行时实现如上所述的网页解析方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有网页解析程序,所述网页解析程序被处理器执行时实现如上所述的网页解析方法的步骤。
本发明实施例提出的一种网页解析方法、系统及计算机可读存储介质,通过获取网站列表页中的所有超链接标签,可以通过其对应父标签路径对超链接标签进行分组,以得到分组后的多个网页区块。根据预先设置的识别规则可以从多个网页区块中识别出该识别规则所匹配的目标列表对应的网页区块。通过内容页的识别规则即可从多个网页区块中识别出目标列表对应的网页区块,从而根据目标列表确定列表页所指向的内容页。即使在网站的网页结构或者UI界面的显示区域发生改变时,通过相应的识别规则也能够自动从变化后的列表页中重新确定得到目标列表对应的网页区块,避免了人工设置列表页的解析规则,降低了维护成本。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的装置结构示意图;
图2为本发明网页解析方法第一实施例的流程示意图;
图3为本发明网页解析方法第二实施例的流程示意图;
图4为本发明网页解析方法第三实施例的流程示意图;
图5为本发明网页解析方法第四实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的装置结构示意图。
本发明实施例终端可以是PC,也可以是服务器、智能手机、平板电脑等具有网页解析功能的终端设备。
如图1所示,该终端可以包括:处理器1001,例如CPU,通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选的用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,终端还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。当然,硬件设备还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及网页解析程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的网页解析程序,并执行以下操作:
获取网站列表页的所有超链接标签及其对应的父标签路径;
根据每个超链接标签对应的父标签路径对所有超链接标签进行分组,以得到多个网页区块,其中,每个网页区块包括一个或多个超链接标签;
根据每个网页区块的布局位置从多个网页区块中确定目标列表对应的网页区块。
进一步地,处理器1001可以调用存储器1005中存储的网页解析程序,还执行以下操作:
对每个网页区块进行定位,以确定每个网页区块的显示位置;
根据每个网页区块的显示位置从多个网页区块中确定目标列表对应的网页区块。
进一步地,处理器1001可以调用存储器1005中存储的网页解析程序,还执行以下操作:
对每个超链接标签分别进行标签定位,以得到每个超链接标签的显示区域;
根据每个超链接标签的显示区域确定每个超链接标签对应的位置坐标;
根据每个网页区块中的超链接标签对应的位置坐标计算得到每个网页区块对应的平均坐标位置。
进一步地,处理器1001可以调用存储器1005中存储的网页解析程序,还执行以下操作:
根据每个网页区块的平均坐标位置确定每个网页区块与网页垂直中线的坐标距离;
根据每个网页区块与网页垂直中线的坐标距离,将与网页垂直中线的距离最短的网页区块确定为内容页列表对应的网页区块。
进一步地,处理器1001可以调用存储器1005中存储的网页解析程序,还执行以下操作:
获取每个超链接标签的文本长度;
计算得到每个网页区块中超链接标签的平均长度;
根据每个网页区块中超链接标签的平均长度对多个网页区块进行一次筛选。
进一步地,处理器1001可以调用存储器1005中存储的网页解析程序,还执行以下操作:
获取一次筛选后的每个网页区块中超链接标签的数量;
根据一次筛选后的每个网页区块中超链接标签的数量对多个网页区块进行二次筛选。
进一步地,处理器1001可以调用存储器1005中存储的网页解析程序,还执行以下操作:
通过Web测试工具控制浏览器开启网站列表页,并对所述网站列表页进行渲染解析,以生成由各个不同类型的网页标签组成的标签树;
从所述标签树中获取所有超链接标签以及每个超链接标签分别对应的父标签路径。
进一步地,处理器1001可以调用存储器1005中存储的网页解析程序,还执行以下操作:
爬取目标列表对应的网页区块中每个超链接标签对应的链接页面,以获取所述链接页面中的内容信息。
本发明应用于网页解析系统的具体实施例与下述应用网页解析方法的各实施例基本相同,在此不作赘述。
请参照图2,图2为本发明网页解析方法第一实施例的流程示意图,其中,所述网页解析方法包括如下步骤:
步骤S10,获取网站列表页的所有超链接标签及其对应的父标签路径;
本实施例可以通过浏览器对网站的列表页进行解析,以确定列表页中的目标列表,该目标列表中的超链接所指向的网页即为网站的内容页。通过对网站的内容页进行数据爬取,即可获得相应的内容信息。其中,网站的列表页和内容页均为网页页面类型的一种,列表页的作用是指向多个内容页,通常包含搜索、翻页等功能,内容页则是网页中呈现主要信息的页面,如呈现一篇新闻、论文的完整内容。
在浏览器开启网站列表页后,可以对网站列表页进行渲染和解析,以得到由各个网页标签组成的标签树结构。其中,<html>标签即为该页面的根节点,<a>标签则为该页面下的各个子叶节点。<a>标签的格式通常可以为:
<a href="url">text</a>;
<a>标签可以作为超链接标签,用于从一张页面链接到另一张页面,例如从网站列表页链接到内容页。其中,url即为链接到的新页面的URL(Uniform Resource Locator,统一资源定位器)地址,text即为该超链接标签的文本内容。
在获取到网站列表页的各个网页标签后,可以从网页标签中筛选出超链接标签,并分别确定每个超链接标签所对应的父标签路径。可以理解的是,每个超链接标签都具有对应的父标签,父标签路径即为对应的父标签的节点路径。
步骤S20,根据每个超链接标签对应的父标签路径对所有超链接标签进行分组,以得到多个网页区块,其中,每个网页区块包括一个或多个超链接标签;
在确定每个超链接标签对应的父标签路径后,可以根据父标签路径对所有超链接标签进行分组,以得到多个分组,每个分组即为一个网页区块。可以理解的是,分组规则可以是将父标签路径相同的超链接标签分为同一组,则一个组内存在至少一个超链接标签,即每个网页区块包括一个或多个超链接标签。
在同一个网页区块内,多个超链接标签具有相同的父标签路径,则该多个超链接标签均为同一父标签的子标签。在网站列表页中通常包括各种区块,例如菜单导航区块、主题信息内容页列表区块、其他导航区块、广告及其他链接区块以及次要信息内容页列表区块。可以理解的是,菜单导航区块内的多个菜单栏在网站列表页的标签树结构中应为同一菜单导航父标签下的多个子标签。主题信息内容页列表区块同样应为同一主题信息父标签下的多个子标签。则通过对所有超链接标签进行分组,能够使得该列表页所指向的内容页分别对应的超链接标签被划分到同一区块内。例如,在一个列表页中,所有超链接标签对应的父标签路径如下:
(1)html/div/div;
(2)html/div/ul/li/span;
(3)html/div;
(4)html/h;
(5)html/div/ul/li;
则可以将该列表页中的所有超链接标签划分至五个分组中,以生成五个网页区块,并进一步从多个分组中确定主题信息内容页列表区块。
步骤S30,根据每个网页区块的布局位置从多个网页区块中确定目标列表对应的网页区块。
在对所有超链接标签进行分组,以得到多个网页区块后,可以确定多个网页区块中的某个网页区块即为该列表页中所显示的目标列表。通过目标列表中的各个超链接标签即可跳转至相应的内容页,从而实现网站内容页的数据抓取。
在根据相同的父标签路径为超链接标签进行分组后,所得到的多个网页区块中,由于每个网页区块中的超链接标签具有相同的父标签,则这些超链接标签在列表页具备相同或相近的功能。即,每个网页区块在列表页的功能存在一定区别。根据每个网页区块中的超链接标签的标签属性可以进一步确定该网页区块中超链接标签的功能作用。
通过预先设置的识别规则,可以对每个网页区块中的超链接标签的标签属性进行筛选、过滤和识别,以判断出每个网页区块的相应功能,从而确定该网页区块所对应的功能。根据目标列表对应的识别规则即可从多个网页区块中确定目标列表对应的网页区块。例如,通过菜单导航列表的识别规则,能够从多个网页区块中确定出菜单导航区块;而通过内容页列表的识别规则,则能够从从多个网页区块中确定出内容页列表区块。通过菜单导航区块内的各个超链接标签能够跳转至不同菜单的列表页,通过内容页列表区块则能够跳转至该列表页中指向的内容页链接,并对内容页中的数据信息进行爬取。
上述预设的识别规则可以为根据每个网页区块在网站列表页中的布局位置来确定每个网页区块所分别对应的功能,从而从多个网页区块中确定目标列表所对应的网页区块。每个网页区块在网站列表页中的布局可以通过每个区块的元素属性来确定。例如,通过每个网页区块对应的<div>标签的样式属性即可确定该网页区块在页面中的布局位置。可以理解的是,若该网页区块的布局位置为顶部,则该网页区块的功能通常为菜单导航;而若该网页区块的布局位置为页面中部区域,则该网页区块通常为内容页列表。以内容页列表为例,在确定目标列表为内容页列表时,则可以在获取到每个网页区块的布局位置后,从多个网页区块中选择最为接近页面中部或中轴线的网页区块作为目标列表对应的网页区块。
可以理解的是,通过对网站的列表页中各个超链接标签对列表页的各个区块进行分组,能够从多个区块中识别出指向内容页的网页区块,通过该网页区块内的超链接标签即可链接至相应的内容页。即使网站的网页结构或者UI界面发生变化,也能够通过相应的识别规则自动识别列表页中指向的内容页链接。
在本实施例中,通过获取网站列表页中的所有超链接标签,可以通过其对应父标签路径对超链接标签进行分组,以得到分组后的多个网页区块。根据预先设置的识别规则可以从多个网页区块中识别出该识别规则所匹配的目标列表对应的网页区块。通过内容页的识别规则即可从多个网页区块中识别出目标列表对应的网页区块,从而根据目标列表确定列表页所指向的内容页。即使在网站的网页结构或者UI界面的显示区域发生改变时,通过相应的识别规则也能够自动从变化后的列表页中重新确定得到目标列表对应的网页区块,避免了人工设置列表页的解析规则,降低了维护成本。
进一步的,参照图3,图3为本发明网页解析方法第二实施例的流程示意图,基于上述图2所示的实施例,所述步骤S30,根据每个网页区块的布局位置从多个网页区块中确定目标列表对应的网页区块的步骤包括:
步骤S31,对每个网页区块进行定位,以确定每个网页区块的显示位置;
步骤S32,根据每个网页区块的显示位置从多个网页区块中确定目标列表对应的网页区块。
在本实施例中,通过对列表页进行网页渲染和解析,可以对每个网页区块进行标签定位,以确定该网页区块在列表页中的显示位置。例如网页区块可以显示在列表页的顶部、侧边栏、底部或中部等。根据网页区块的显示位置通常可以确定该网页区块的类型。即,通过判断每个网页区块是否位于目标列表对应的显示区域,即可确定该网页区块是否为该目标列表对应的网页区块。例如,若某个网页区块显示在列表页的顶部,则该网页区块通常为列表页中的菜单导航区块;若某个网页区块显示在列表页的底部,则该网页区块通常为列表页中的服务支持区块或相关网站区块;若某个网页区块显示在列表页的中部,则该网页区块通常为列表页中的内容页区块,该内容页区块中可以显示有指向各个内容页的链接,通过相应的链接即可跳转至对应的内容页。通过判断网页区块是否位于页面的中部区域,即可从多个网页区块中确定出目标列表所对应的网页区块。
进一步的,参照图4,图4为本发明网页解析方法第三实施例的流程示意图,基于上述图3所示的实施例,所述步骤S31,对每个网页区块进行定位,以确定每个网页区块的显示位置的步骤包括:
步骤S311,对每个超链接标签分别进行标签定位,以得到每个超链接标签的显示区域;
步骤S312,根据每个超链接标签的显示区域确定每个超链接标签对应的位置坐标;
步骤S313,根据每个网页区块中的超链接标签对应的位置坐标计算得到每个网页区块对应的平均坐标位置。
在本实施例中,对于每个网页区块进行定位的方式可以是对每个超链接标签分别进行标签定位,以得到每个超链接标签在网站页面中的显示区域。每个超链接标签的显示区域的中心点即可以作为该超链接标签对应的位置坐标。例如,若超链接标签的显示区域为圆形区域,则显示区域的圆心即可作为该超链接标签对应的位置坐标。
在确定一个网页区块中所有超链接标签的位置坐标后,可以对每个超链接标签对应的位置坐标进行平均坐标计算,以确定该网页区块对应的平均坐标位置,并将网页区块的平均坐标位置作为显示位置。
可以理解的是,主要分布于页面顶部的网页区块通过计算得到的平均坐标位置靠近页面顶部,而主要分布于页面侧边的网页区块通过计算得到的平均坐标位置则靠近页面侧边。为了使用户在浏览列表页时能够快速注意到内容页列表的跳转链接,通常会将内容页区块设置于视觉中央位置,即页面的中部位置。则计算得到多个网页区块的平均坐标位置后,可以确定靠近中部的网页区块即为内容页列表对应的网页区块。
进一步的,参照图5,图5为本发明网页解析方法第四实施例的流程示意图,基于上述图4所示的实施例,所述目标列表为内容页列表,所述步骤S32,根据每个网页区块的显示位置从多个网页区块中确定目标列表对应的网页区块的步骤包括:
步骤S321,根据每个网页区块的平均坐标位置确定每个网页区块与网页垂直中线的坐标距离;
步骤S322,根据每个网页区块与网页垂直中线的坐标距离,将与网页垂直中线的距离最短的网页区块确定为内容页列表对应的网页区块。
在本实施例中,在获取每个网页区块的平均坐标位置后,可以计算每个网页区块与网页垂直中线的坐标距离。以网页页面的横向为X轴,纵向为Y轴,则网页垂直中线的X坐标为网页页面左右两个侧边的X坐标的平均值。通过每个网页区块平均坐标位置中的X坐标值与网页垂直中线的X坐标值进行相减,即可得到该网页区块与网页垂直中线的坐标距离。在计算得到每个网页区块与网页垂直中线的坐标距离后,即可将与网页垂直中线的距离最短的网页区块确定为内容页列表对应的网页区块。
可以理解的是,由于通常菜单导航区块设置于列表页的顶部,服务支持区块或相关网站区块设置于列表页的底部。则还可以采用网页水平中线对网页区块进行识别。例如,根据网页水平中线与各个网页区块的距离可以确定最靠近顶部的网页区块,并确定该网页区块通常为菜单导航区块。
进一步的,在本发明网页解析方法第五实施例中,基于上述图3至图5所示的实施例,所述步骤S31,对每个网页区块进行定位,以确定每个网页区块的显示位置的步骤之前,还包括:
步骤S40,获取每个超链接标签的文本长度;
步骤S41,计算得到每个网页区块中超链接标签的平均长度;
步骤S42,根据每个网页区块中超链接标签的平均长度对多个网页区块进行一次筛选。
在本实施例中,在确定每个网页区块的显示位置之前,还可以对网页区块进行一次筛选,以去除部分网页区块。该去除的部分网页区块不再需要计算其对应的显示位置,能够减小网页解析时的数据计算量,提升网页解析速度。
以从网站列表页中识别出内容页列表为例,可以理解的是,菜单导航中的各个超链接标签中的文本内容为各个菜单栏的名称,其文本长度十分有限。而内容页列表中的各个超链接标签的文本内容通常为内容页的标题,为了使得用户能够根据标题确定其所链接的内容页的大致内容,其文本内容长度通常大于其他超链接标签中的文本内容长度。即,文本内容长度较长的网页区块更有可能为内容页列表对应的网页区块。则在计算确定每个网页区块的显示位置之前,还可以通过超链接标签中的文本内容长度进行筛选,以将文本内容长度较短的网页区块进行过滤。
根据文本长度进行筛选的方式可以为,获取每个超链接标签所对应的文本长度,对于分组后的每个网页区块,计算该网页区块中超链接标签的平均长度。其中网页区块中超链接标签的平均长度即为该网页区块中所有超链接标签的文本内容长度之和除以该网页区块中超链接标签的个数。
在计算得到每个网页区块中超链接标签的平均长度后,可以根据平均长度对多个网页区块进行一次筛选,以将平均长度较低的网页区块筛除后,再对剩余的网页区块进行定位,以确定每个网页区块的显示位置。
可以理解的是,上述根据平均长度对多个网页区块进行筛选的方式可以为按照每个网页区块的平均长度进行排序,将排序序号在前的预设个数的网页区块进行保留,其余网页区块进行筛除过滤;筛选方式也可以是设置平均长度的保留阈值,将平均长度高于保留阈值的网页区块进行保留,其余网页区块进行筛除过滤;筛选方式还可以是将多个平均长度中最大的平均长度和预设的百分比之积作为保留阈值进行筛除。
进一步的,在本发明网页解析方法第六实施例中,基于上述第五实施例,所述步骤S42,根据每个网页区块中超链接标签的平均长度对多个网页区块进行一次筛选的步骤之后,还包括:
步骤S50,获取一次筛选后的每个网页区块中超链接标签的数量;
步骤S51,根据一次筛选后的每个网页区块中超链接标签的数量对多个网页区块进行二次筛选。
在本实施例中,在根据网页区块的平均长度对文本内容较短的网页区块进行筛除后,还可以对筛除后保留的网页区块进行二次筛选。该二次筛选的方式可以是根据每个网页区块中超链接标签的数量进行筛选。可以理解的是,在网站的列表页中,内容页列表中对应有各个内容页的超链接标签,则无论是主题信息内容页列表还是次要信息内容页列表,均包含有高于其他网页区块的超链接标签数量。因此,在进行一次筛选后,还可以计算剩余保留的每个网页区块中超链接标签的数量,并将超链接标签数量较少的网页区块进行二次筛除。
可以理解的是,在通过超链接标签的平均长度和超链接标签的数量进行两次筛选后,可以将菜单导航、广告以及相关网站链接等区块进行过滤筛除,则经过筛选后保留的网页区块通常包括主题信息内容页列表和次要信息内容页列表,即主要内容页和次要内容页。对保留后的内容页区块,通过计算相应的显示位置,即可将靠近页面中部区域的网页区块确定为主要内容页区块,从而实现列表页中主要内容页的定位。通过对网页区块的显示位置进行判定,还可以在存在有多个内容页列表时从中区分出主、次内容页列表,从而提升了内容页列表识别和提取的准确性。
进一步的,在本发明网页解析方法第七实施例中,基于上述图2所示的实施例,所述步骤S10,获取网站列表页的所有超链接标签及其对应的父标签路径的步骤包括:
步骤S11,通过Web测试工具控制浏览器开启网站列表页,并对所述网站列表页进行渲染解析,以生成由各个不同类型的网页标签组成的标签树;
步骤S12,从所述标签树中获取所有超链接标签以及每个超链接标签分别对应的父标签路径。
在本实施例中,对于某个网站的列表页,可以通过相应的Web测试工具驱动浏览器开启该列表页,并对列表页进行渲染解析。解析后的列表页为Domtree标签树结构,包含有各种网页标签。通过XPath(Xml Path Language,可扩展标记语言路径语言)可以从解析后的网页标签中获取到所有超链接标签,并返回与其对应的父标签路径。
进一步的,在本发明网页解析方法第八实施例中,基于上述图2所示的实施例,所述步骤S30,根据每个网页区块的布局位置从多个网页区块中确定目标列表对应的网页区块的步骤之后,还包括:
步骤S60,爬取目标列表对应的网页区块中每个超链接标签对应的链接页面,以获取所述链接页面中的内容信息。
在本实施例中,在从网站的列表页中确定目标列表对应的网页区块后,即可链接至该目标列表中的每个超链接标签对应的内容页,并通过网络爬虫爬取该内容页中的内容信息。
此外,本发明还提出一种计算机可读存储介质,其上存储有网页解析程序。所述计算机可读存储介质可以是图1的终端中的存储器20,也可以是如ROM(Read-Only Memory,只读存储器)/RAM(Random Access Memory,随机存取存储器)、磁碟、光盘中的至少一种,所述计算机可读存储介质包括若干指令用以使得一台具有处理器的网页解析系统执行本发明各个实施例所述的网页解析方法。
可以理解的是,在本说明书的描述中,参考术语“一实施例”、“另一实施例”、“其他实施例”、或“第一实施例~第N实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种网页解析方法,其特征在于,包括以下步骤:
获取网站列表页的所有超链接标签及其对应的父标签路径;
根据每个超链接标签对应的父标签路径对所有超链接标签进行分组,以得到多个网页区块,其中,每个网页区块包括一个或多个超链接标签;
根据每个网页区块的布局位置从多个网页区块中确定目标列表对应的网页区块。
2.如权利要求1所述的网页解析方法,其特征在于,所述根据每个网页区块的布局位置从多个网页区块中确定目标列表对应的网页区块的步骤包括:
对每个网页区块进行定位,以确定每个网页区块的显示位置;
根据每个网页区块的显示位置从多个网页区块中确定目标列表对应的网页区块。
3.如权利要求2所述的网页解析方法,其特征在于,所述对每个网页区块进行定位,以确定每个网页区块的显示位置的步骤包括:
对每个超链接标签分别进行标签定位,以得到每个超链接标签的显示区域;
根据每个超链接标签的显示区域确定每个超链接标签对应的位置坐标;
根据每个网页区块中的超链接标签对应的位置坐标计算得到每个网页区块对应的平均坐标位置。
4.如权利要求3所述的网页解析方法,其特征在于,所述目标列表为内容页列表,所述根据每个网页区块的显示位置从多个网页区块中确定目标列表对应的网页区块的步骤包括:
根据每个网页区块的平均坐标位置确定每个网页区块与网页垂直中线的坐标距离;
根据每个网页区块与网页垂直中线的坐标距离,将与网页垂直中线的距离最短的网页区块确定为内容页列表对应的网页区块。
5.如权利要求2~4中任一项所述的网页解析方法,其特征在于,所述对每个网页区块进行定位,以确定每个网页区块的显示位置的步骤之前,还包括:
获取每个超链接标签的文本长度;
计算得到每个网页区块中超链接标签的平均长度;
根据每个网页区块中超链接标签的平均长度对多个网页区块进行一次筛选。
6.如权利要求5所述的网页解析方法,其特征在于,所述根据每个网页区块中超链接标签的平均长度对多个网页区块进行一次筛选的步骤之后,还包括:
获取一次筛选后的每个网页区块中超链接标签的数量;
根据一次筛选后的每个网页区块中超链接标签的数量对多个网页区块进行二次筛选。
7.如权利要求1所述的网页解析方法,其特征在于,所述获取网站列表页的所有超链接标签及其对应的父标签路径的步骤包括:
通过Web测试工具控制浏览器开启网站列表页,并对所述网站列表页进行渲染解析,以生成由各个不同类型的网页标签组成的标签树;
从所述标签树中获取所有超链接标签以及每个超链接标签分别对应的父标签路径。
8.如权利要求1所述的网页解析方法,其特征在于,所述根据每个网页区块的布局位置从多个网页区块中确定目标列表对应的网页区块的步骤之后,还包括:
爬取目标列表对应的网页区块中每个超链接标签对应的链接页面,以获取所述链接页面中的内容信息。
9.一种网页解析系统,其特征在于,所述网页解析系统包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的网页解析程序,其中:所述网页解析程序被所述处理器执行时实现如权利要求1至8中任一项所述的网页解析方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有网页解析程序,所述网页解析程序被处理器执行时实现如权利要求1至8中任一项所述的网页解析方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011643216.1A CN112612990A (zh) | 2020-12-30 | 2020-12-30 | 网页解析方法、系统及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011643216.1A CN112612990A (zh) | 2020-12-30 | 2020-12-30 | 网页解析方法、系统及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112612990A true CN112612990A (zh) | 2021-04-06 |
Family
ID=75253418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011643216.1A Pending CN112612990A (zh) | 2020-12-30 | 2020-12-30 | 网页解析方法、系统及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112612990A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114461887A (zh) * | 2022-04-14 | 2022-05-10 | 中电云数智科技有限公司 | 一种分布式互联网数据采集方法及装置 |
CN114817811A (zh) * | 2022-05-07 | 2022-07-29 | 盐城金堤科技有限公司 | 一种网站解析方法和装置 |
-
2020
- 2020-12-30 CN CN202011643216.1A patent/CN112612990A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114461887A (zh) * | 2022-04-14 | 2022-05-10 | 中电云数智科技有限公司 | 一种分布式互联网数据采集方法及装置 |
CN114461887B (zh) * | 2022-04-14 | 2022-06-28 | 中电云数智科技有限公司 | 一种分布式互联网数据采集方法及装置 |
CN114817811A (zh) * | 2022-05-07 | 2022-07-29 | 盐城金堤科技有限公司 | 一种网站解析方法和装置 |
CN114817811B (zh) * | 2022-05-07 | 2024-03-19 | 盐城天眼察微科技有限公司 | 一种网站解析方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9330179B2 (en) | Configuring web crawler to extract web page information | |
US8639680B1 (en) | Hidden text detection for search result scoring | |
US9529780B2 (en) | Displaying content on a mobile device | |
US9218322B2 (en) | Producing web page content | |
US10296552B1 (en) | System and method for automated identification of internet advertising and creating rules for blocking of internet advertising | |
CN111949351A (zh) | 页面渲染方法、装置、设备及计算机可读存储介质 | |
CN103049562B (zh) | 一种识别相似网页的方法及装置 | |
CN112612990A (zh) | 网页解析方法、系统及计算机可读存储介质 | |
CN111090797B (zh) | 数据获取方法、装置、计算机设备和存储介质 | |
CN106547749B (zh) | 网页数据采集的方法和装置 | |
CN108595697A (zh) | 网页集成方法、装置及系统 | |
CN112818200A (zh) | 基于静态网站的数据爬取及事件分析方法及系统 | |
CN104809173A (zh) | 一种搜索结果的处理方法和装置 | |
TWI570579B (zh) | 利用網頁視覺特徵及網頁語法特徵之資訊擷取系統與方法 | |
CN114021042A (zh) | 网页内容的提取方法、装置、计算机设备和存储介质 | |
CN112232075A (zh) | 基于时间格式和网页元素特征的文章发布时间识别方法 | |
CN106897287B (zh) | 网页发布时间抽取方法和用于网页发布时间抽取的装置 | |
CN109948015B (zh) | 一种元搜索列表结果抽取方法及系统 | |
EP2521045A1 (en) | Content configuration method | |
CN113806667B (zh) | 一种支持网页分类的方法和系统 | |
CN113407678B (zh) | 知识图谱构建方法、装置和设备 | |
JP2008102773A (ja) | データを共通のフォーマットに変換する方法 | |
CN112230989A (zh) | 网页频道导航栏提取方法、系统、电子设备及存储介质 | |
JP2011070541A (ja) | ネットマーケティング支援方法及びネットマーケティング支援装置 | |
CN116361594B (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 |