CN104573097A - 一种提取网页正文的方法 - Google Patents
一种提取网页正文的方法 Download PDFInfo
- Publication number
- CN104573097A CN104573097A CN201510047773.XA CN201510047773A CN104573097A CN 104573097 A CN104573097 A CN 104573097A CN 201510047773 A CN201510047773 A CN 201510047773A CN 104573097 A CN104573097 A CN 104573097A
- Authority
- CN
- China
- Prior art keywords
- label
- length
- content
- subtab
- longest
- 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.)
- Granted
Links
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/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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及网页文字信息处理领域,特别是一种提取网页正文的方法,包括以下步骤:步骤S101:网页源代码获取,获取html的页面源代码;步骤S102:解析并遍历标签,通过html解析器解析页面源代码获得标签并遍历每个标签;步骤S103:标签内容长度判断,对每个标签的内容长度进行判断,遍历标签内容长度后,确定标签内容长度最长的标签;步骤S104:提取标签内容,取出标签最长的标签内容,取出的内容就是需要提取的正文内容。采用上述方法后,由于网页的正文是由多个标签包含的,通过遍历每个标签,将相同标签的内容长度相加,再跟其他单个标签的长度相比较,最长的标签便是需要提取的正文内容,发明既能保证处理速度,提取的准确率也高。
Description
技术领域
本发明涉及网页文字信息处理领域,特别是一种提取网页正文的方法。
背景技术
在舆情监测和分析领域中,都会涉及到网页正文内容提取。而舆情检测和分析最有价值的对象便是网页的正文部分,大多数情况下,为了便于分析,需要从网页中提取有价值的正文信息,排除不需要的干扰信息。可以说正文提取的好坏,直接影响了分析结果的好坏。
中国发明专利CN 102779169 A公开了一种基于HTML标签的网页正文提取方法包括以下步骤:(1)中央处理器将网页的HTML代码以文本形式读入寄存器中,并将寄存器中的字符全部小写化,便于后面的字符匹配;(2)中央处理器通过扫描寄存器,将HTML网页划分为Head和Body量大区域块;(3)中央处理器调用净化处理单元,通过以下3个环节对寄存器进行净化:
一、删除head区域块中与网页标题无关的内容,
二、确定body区域块中网页正文标题的位置,
三、删除body区域块中与网页正文无关的内容;
(4)中央处理器调用转义字符转换处理单元,把寄存器里面的转义字符转化成正常字符;(5)中央处理器依次在存储器中保存寄存器中网页信息,即为提取的网页正文部分。
html文件即超文本传输语言文件,其结构有便签和内容构成,而从html中提取含有价值信息的正文,需要了解html的结构,熟悉网页展现正文的普遍规律。基于这些规律可以通过标签的普遍用途来提取正文,比如title或h1,h2标签一般用作标题,p一般表示正文段落,根据标签的含义去提取正文。因为正文的p标签会有多个,便签中还会包含其他标签,因此这种正文提取的方法不够完整全面。有的正文提取是根据标签的长度来确定包含正文的标签,这种方式的缺点在于正文是由多个标签包含的。这种方式的提取只能取到正文的某个标签,所以正文不能取全。
发明内容
本发明需要解决的技术问题提供一种处理速度快且准确率高的提取网页正文的方法。
为解决上述的技术问题,本发明一种提取网页正文的方法包括以下步骤:
步骤S101:网页源代码获取,获取html的页面源代码;步骤S102:解析并遍历标签,通过html解析器解析页面源代码获得标签并遍历每个标签;步骤S103:标签内容长度判断,对每个标签的内容长度进行判断,遍历标签内容长度后,确定标签内容长度最长的标签;步骤S104:提取标签内容,取出标签最长的标签内容,取出的内容就是需要提取的正文内容。
进一步的,所述步骤S102中用来解析html页面源代码的html解析器采用jsoup工具。
进一步的,所述步骤S102中遍历每个标签采用递归遍历每个标签。
进一步的,所述步骤S103还包括以下步骤:
步骤S1031:判断标签内容长度,判断标签的内容长度是否最长,如果最长则进入步骤S1032,如果不是则进入步骤S1033;步骤S1032:存储本标签,存储标签内容长度最长的标签、标签长度L、标志为本标签;步骤S1033:判断本标签是否有子元素,如果有则进入步骤S1034,如果没有则进入步骤S1039;步骤S1034:标签子元素,对每个子元素进行标签形成不同的子标签;步骤S1035:相同子标签内容长度相加,将相同子标签的内容长度相加;步骤S1036:判断子标签内容相加长度是否最长,将子标签内容长度相加与当前最长标签长度L相比较,判断是否比最长标签长度L长,如果是则进入步骤S1037,如果否则进入步骤S1038;步骤S1037:存储子标签,存储内容长度较大的子标签的标签、子标签的父标签以及标志为子标签;步骤S1038:判断子标签是否全部遍历相加,如果是则进入步骤S1039,如果否则返回步骤S1035;步骤S1039:判断本标签是否全部遍历,如果是则进入步骤S104,如果否则返回步骤S1031。
更进一步的,所述步骤S104中如果存储的结果子标签标志为子标签的,提取这个标签的子标签的所有内容;如果子标签标志没有子标签的,则提取标签的内容。
采用上述方法后,由于网页的正文是由多个标签包含的,通过遍历每个标签,将相同标签的内容长度相加,再跟其他单个标签的长度相比较,最长的标签便是需要提取的正文内容,本发明既能保证处理速度,提取的准确率也高。
附图说明
下面将结合附图和具体实施方式对本作进一步详细的说明。
图1为本发明一种提取网页正文方法的流程图。
具体实施方式
如图1所示,本发明一种提取网页正文的方法,包括以下步骤,
步骤S101:网页源代码获取,获取html的页面源代码,这是本领域技术人员都理解,在这里就不赘述了。
步骤S102:解析并遍历标签,本实施方式采用jsoup工具解析页面源代码获得标签并遍历每个标签。现在网页的正文都是由一个或多个p、div、span以及a标签组成的,例如一个标签下的包含多个p标签,这些p标签包含正文的内容。为了提取需要的正文内容,将这些p标签的内容长度相加,再跟其他单个标签的长度相比较,最长的标签便是需要提取的正文内容。
步骤S103:标签内容长度判断,对每个标签的内容长度进行判断,遍历标签内容长度后,确定标签内容长度最长的标签。由于标签包括本标签和子标签,所以在判断标签长度时需要区分本标签和子标签,具体步骤如下:
步骤S1031:判断标签内容长度,对每个标签进行判断,如果这个标签的内容长度最长,则通过步骤S1032存储这个标签、这个标签的长度L以及标志为本标签,在存储时设置标志位,可以通过设置标志位0表示本标签,标志位1表示子标签,当然也可以是其他。如果不是则进入步骤S1033,判断这个本标签是否有子元素,如果没有则进入步骤S1039。
通过步骤S1033判断当前本标签是否有子元素,如果有的话则进入步骤S1034对每个子元素进行标签形成不同子标签,常见的标签有p、span、div和a标签,本实施方式中本标签包含3个p标签和8个div标签。然后通过步骤S1035分别计算3个p标签的内容相加的长度和8个div标签的内容相加的长度,然后通过步骤S1036与当前存储的标签内容长度L进行比较。如果3个p标签的内容相加的长度或8个div标签的内容相加的长度大于存储的标签内容长度L,则进入步骤S1037存储这个p标签、p标签的父标签以及标志为子标签,并用3个p标签的内容相加的长度L1或8个div标签的内容相加的长度L2替换原来的标签内容长度L。当进入下一个循环判断本标签或者子标签的长度是否最长时,就是与L1或者L2相比较。如果3个p标签的内容相加的长度或8个div标签的内容相加的长度小于存储的标签内容长度L,返回步骤S1038判断子标签是否全部通过遍历相加。本实施方式中存在p标签和div标签,先对3个p标签的内容相加的长度比较,比较完后返回步骤S1035将8个div标签内容长度相加再通过步骤S1036进行新一轮比较。步骤S1039是用来判断本标签是否全部遍历的,本实施方式中本标签共N个,初次通过步骤S1031判断本标签内容长度时初始化i=0,当判断完一次本标签和本标签的所有子标签后i++,直至i=N遍历结束。
如图1所示,如果当前存储的标志位标志为本标签,则通过步骤S104提取本标签中的内容;如果当前存储的标志为子标签,则通过步骤S104提取子标签的内容。以3个p标签的内容相加的长度L1最长为例,就将子标签p标签中的所有内容提出出来,提取出来的内容就是需要的网页正文内容。
当然,也可以采用其他适用的html解析器,这样的变换均落在本发明的保护范围之内。
虽然以上描述了本发明的具体实施方式,但是本领域熟练技术人员应当理解,这些仅是举例说明,可以对本实施方式作出多种变更或修改,而不背离发明的原理和实质,本发明的保护范围仅由所附权利要求书限定。
Claims (5)
1.一种提取网页正文的方法,其特征在于,包括以下步骤:
步骤S101:网页源代码获取,获取html的页面源代码;
步骤S102:解析并遍历标签,通过html解析器解析页面源代码获得标签并遍历每个标签;
步骤S103:标签内容长度判断,对每个标签的内容长度进行判断,遍历标签内容长度后,确定标签内容长度最长的标签;
步骤S104:提取标签内容,取出标签最长的标签内容,取出的内容就是需要提取的正文内容。
2.按照权利要求1所述的一种提取网页正文的方法,其特征在于:所述步骤S102中用来解析html页面源代码的html解析器采用jsoup工具。
3.按照权利要求1所述的一种提取网页正文的方法,其特征在于:所述步骤S102中遍历每个标签采用递归遍历每个标签。
4.按照权利要求1所述的一种提取网页正文的方法,其特征在于,所述步骤S103还包括以下步骤:
步骤S1031:判断标签内容长度,判断标签的内容长度是否最长,如果最长则进入步骤S1032,如果不是则进入步骤S1033;
步骤S1032:存储本标签,存储标签内容长度最长的标签、标签长度L、标志为本标签;
步骤S1033:判断本标签是否有子元素,如果有则进入步骤S1034,如果没有则进入步骤S1039;
步骤S1034:标签子元素,对每个子元素进行标签形成不同的子标签;
步骤S1035:相同子标签内容长度相加,将相同子标签的内容长度相加;
步骤S1036:判断子标签内容相加长度是否最长,将子标签内容长度相加与当前最长标签长度L相比较,判断是否比最长标签长度L长,如果是则进入步骤S1037,如果否则进入步骤S1038;
步骤S1037:存储子标签,存储内容长度较大的子标签的标签、子标签的父标签以及标志为子标签;
步骤S1038:判断子标签是否全部遍历相加,如果是则进入步骤S1039,如果否则返回步骤S1035;
步骤S1039:判断本标签是否全部遍历,如果是则进入步骤S104,如果否则返回步骤S1031。
5.按照权利要求4所述的一种提取网页正文的方法,其特征在于:所述步骤S104中如果存储的结果子标签标志为子标签的,提取这个标签的子标签的所有内容;如果子标签标志没有子标签的,则提取本标签的内容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510047773.XA CN104573097B (zh) | 2015-01-30 | 2015-01-30 | 一种提取网页正文的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510047773.XA CN104573097B (zh) | 2015-01-30 | 2015-01-30 | 一种提取网页正文的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104573097A true CN104573097A (zh) | 2015-04-29 |
CN104573097B CN104573097B (zh) | 2018-07-24 |
Family
ID=53089159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510047773.XA Active CN104573097B (zh) | 2015-01-30 | 2015-01-30 | 一种提取网页正文的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104573097B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105868346A (zh) * | 2016-03-28 | 2016-08-17 | 乐视控股(北京)有限公司 | 一种应用于网页的图片提取方法及装置 |
CN106776561A (zh) * | 2016-12-20 | 2017-05-31 | 四川长虹电器股份有限公司 | 车联网系统新闻正文提取方法 |
CN108628817A (zh) * | 2017-03-15 | 2018-10-09 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及装置 |
CN111274515A (zh) * | 2020-03-24 | 2020-06-12 | 湘潭大学 | 基于html标签匹配的网页数据提取方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100082673A1 (en) * | 2008-09-30 | 2010-04-01 | Kabushiki Kaisha Toshiba | Apparatus, method and program product for classifying web browsing purposes |
CN103049536A (zh) * | 2012-11-01 | 2013-04-17 | 广州汇讯营销咨询有限公司 | 提取网页正文内容的方法和系统 |
CN103530429A (zh) * | 2013-11-04 | 2014-01-22 | 北京中搜网络技术股份有限公司 | 一种网页正文抽取的方法 |
-
2015
- 2015-01-30 CN CN201510047773.XA patent/CN104573097B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100082673A1 (en) * | 2008-09-30 | 2010-04-01 | Kabushiki Kaisha Toshiba | Apparatus, method and program product for classifying web browsing purposes |
CN103049536A (zh) * | 2012-11-01 | 2013-04-17 | 广州汇讯营销咨询有限公司 | 提取网页正文内容的方法和系统 |
CN103530429A (zh) * | 2013-11-04 | 2014-01-22 | 北京中搜网络技术股份有限公司 | 一种网页正文抽取的方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105868346A (zh) * | 2016-03-28 | 2016-08-17 | 乐视控股(北京)有限公司 | 一种应用于网页的图片提取方法及装置 |
CN106776561A (zh) * | 2016-12-20 | 2017-05-31 | 四川长虹电器股份有限公司 | 车联网系统新闻正文提取方法 |
CN108628817A (zh) * | 2017-03-15 | 2018-10-09 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及装置 |
CN108628817B (zh) * | 2017-03-15 | 2022-07-26 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及装置 |
CN111274515A (zh) * | 2020-03-24 | 2020-06-12 | 湘潭大学 | 基于html标签匹配的网页数据提取方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104573097B (zh) | 2018-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103123618B (zh) | 文本相似度获取方法和装置 | |
CN101094194B (zh) | 一种提取Web页面中用户所需Web信息的方法 | |
CN109635288A (zh) | 一种基于深度神经网络的简历抽取方法 | |
CN102567384B (zh) | 基于网页浏览器引擎的网页多语言动态切换方法及系统 | |
CN102662969B (zh) | 一种基于网页结构语义的互联网信息对象定位方法 | |
CN106959944A (zh) | 一种基于中文语法规则的事件提取方法和系统 | |
CN104573097A (zh) | 一种提取网页正文的方法 | |
CN102270206A (zh) | 一种有效网页内容的抓取方法及装置 | |
CN101876968A (zh) | 对网络文本与手机短信进行不良内容识别的方法 | |
CN105183801A (zh) | 网页正文抽取方法及装置 | |
CN102779169A (zh) | 一种基于html标签的网页正文提取方法及装置 | |
CN108595468A (zh) | 一种网页数据的获取方法、装置、服务器、终端和系统 | |
CN102591612A (zh) | 一种基于标点连续性的通用网页正文提取方法及其系统 | |
CN102779135A (zh) | 跨语言获取搜索资源的方法和装置及对应搜索方法和装置 | |
CN102467501B (zh) | 一种从新闻列表页抽取新闻记录元数据的方法及系统 | |
CN103049536A (zh) | 提取网页正文内容的方法和系统 | |
CN106547895B (zh) | 一种网页信息的提取方法及装置 | |
KR101364321B1 (ko) | 자연 언어 처리 장치, 방법 및 프로그램 | |
CN109101491B (zh) | 一种作者信息抽取方法、装置、计算机装置及计算机可读存储介质 | |
CN103559202B (zh) | 一种网页内容抽取装置和方法 | |
CN107145591A (zh) | 一种基于标题的网页有效元数据内容提取方法 | |
CN103092973B (zh) | 信息抽取方法和装置 | |
CN103118028B (zh) | 基于网页解析的安全扫描方法及系统 | |
CN105468753A (zh) | 多编码格式数据显示系统及方法 | |
CN101493843B (zh) | 一种对网页中的文章进行评注的方法及服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 410013 N unit 6 floor 605, A4 building, 27 Yuan Lu Yuan Garden, No. 27, Wen Xuan Road, high tech Development Zone, Changsha, Hunan. Patentee after: Hunan ant software Limited by Share Ltd Address before: 410013 room 603, building A4, Business Plaza, 27 Luwen Road, Changsha high tech Zone, Hunan Patentee before: Hunan Yi Fang softcom limited |
|
CP03 | Change of name, title or address |