CN111597292A - 基于网页标签位置的文本格式化清洗方法 - Google Patents

基于网页标签位置的文本格式化清洗方法 Download PDF

Info

Publication number
CN111597292A
CN111597292A CN202010312989.5A CN202010312989A CN111597292A CN 111597292 A CN111597292 A CN 111597292A CN 202010312989 A CN202010312989 A CN 202010312989A CN 111597292 A CN111597292 A CN 111597292A
Authority
CN
China
Prior art keywords
text
label
data
cleaning
original
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
Application number
CN202010312989.5A
Other languages
English (en)
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.)
Anhui Huiyi Information Technology Co ltd
Original Assignee
Anhui Huiyi 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 Anhui Huiyi Information Technology Co ltd filed Critical Anhui Huiyi Information Technology Co ltd
Priority to CN202010312989.5A priority Critical patent/CN111597292A/zh
Publication of CN111597292A publication Critical patent/CN111597292A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/313Selection or weighting of terms for indexing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种基于网页标签位置的文本格式化清洗方法,包括以下步骤:S1:遍历整个网页的所有标签,并记录各个标签名、标签的位置、文本内容、文档编号到原始表;S2:若网页中含有表格数据,将网页中的表格数据进行按行和列动态遍历,提取关键信息得到替换表;S3:将原始表和替换表通过文档编号匹配,对原始表里表位置与替换表相关的数据信息进行删除或更新操作,将清洗后的数据输出到清洗表;S4:若网页中没有表格数据,将网页里DIV所对应的文本提取出来,提取文档编号、文本内容到数据框后持久化到原始表,通过分组聚合的方法,将同类的文档合并插入清洗表中,完成网页文本的清洗。本发明能够提高网页文本解析的准确度。

Description

基于网页标签位置的文本格式化清洗方法
技术领域
本发明涉及网页文本提取技术领域,特别是涉及一种基于网页标签位置的文本格式化清洗方法。
背景技术
众所周知网页使用的是HTML标记类语言,它里面的标签代表一定的格式。比如table标签是一个表格(类似excel里的表格),tr是表格里的行,td就是行里的单元格。网页文本解析又称网页文本内容提取,该技术就是剔除原始网页内的标记,但同时保留原有的格式的一项提取技术。提取清洗后的文本可用作信息展示、数据整合、数据持久化、数据分析等各种场景。该技术主要应用到爬虫、正则表达式、规则提取等相关文本处理技术。
现有网页文本解析技术针对每个网页,需要额外编写定制的清洗规则,应用于内容较多的网页时,文本内容的提取效率较低,同时会出现部分内容缺失,对标签(特别是表格)解析时,会出现换位以至于跟原网页格式相差较大。
因此亟需提供一种新型的基于网页标签位置的文本格式化清洗方法来解决上述问题。
发明内容
本发明所要解决的技术问题是提供一种基于网页标签位置的文本格式化清洗方法,适合不定长度表格和批量处理,能够提高网页文本解析的准确度。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种基于网页标签位置的文本格式化清洗方法,包括以下步骤:
S1:遍历整个网页的所有标签,并记录各个标签名、标签的位置、文本内容、文档编号到原始表;
S2:若网页中含有表格数据,针对网页中的表格数据进行按行和列动态遍历,并将每个表格单位格的内容合并成按照制表符分割的字符串,记录文档编号、字符串、表格标签起始位置、终止位置到替换表;
S3:将原始表和替换表通过文档编号匹配,删除原始表里与替换表里文档编号相同且表位置在替换表的起始位置和终止位置之间的数据,更新原始表表位置等于替换表终止位置的数据,并将清洗后的数据输出到清洗表;
S4:若网页中没有表格数据,将网页里DIV所对应的文本提取出来,提取文档编号、文本内容到数据框后持久化到原始表,通过分组聚合的方法,将同类的文档合并插入清洗表中,完成网页文本的清洗。
在本发明一个较佳实施例中,步骤S1的具体步骤包括:
S101:读取原始网页的网络地址,将该网页的内容转换为树形结构的文档对象;
S102:遍历所述树形结构的文档对象,提取包含所有标签、样式、文本内容的初始化标签集、包含表格信息的表格标签集、包含DIV的DIV标签集;
S103:遍历初始化标签集,并初始化首次出现的标签,标识为0;若标签名是DIV和SCRIPT则继续循环;若首次出现标识等于当前标签的位置,则继续循环;若首次出现标识不等于当前标签的位置,则清洗含空格、半角空格、全角空格、不间断空格的文本内容,并重置初始化标签等于当前的标签位置;
S104:将初始化标签集的文档编号、标签名、标签的位置、文本内容记录到数据库,并持久化到原始表中。
在本发明一个较佳实施例中,步骤S2的具体步骤包括:
S201:先遍历每一个表格列表对象,记录当前的位置为开始位置,再逐个遍历tr列表对象,记录td列表的最后一个位置为结束位置,对同是一行的标签提取文本内容;
S202:提取文本时,清洗原始网页里可能存在的空格、半角空格、全角空格、不间断空格,按照制表符分隔同一行数据合并成新的文本;
S203:将上述过程中的文档编号、标签开始位置、标签结束位置、合并后的文本内容集中输出到数据框后,再持久化到原始表。
在本发明一个较佳实施例中,步骤S3的具体过程为:
在数据库侧匹配原始表里和替换表里文档编号的数据,将原始表里与替换表里文档编号相同且表位置在替换表的起始位置和终止位置之间的数据删除;
匹配原始表里和替换表里文档编号的数据,将替换表结束位置与原始表位置相同的文本覆盖原原始表的文本;
通过分组聚合的方法将同类的文档按照一特殊标记字符合并成一条记录,再插入清洗表前将文本字段替换成换行符,最终完成网页文本的清洗。
本发明的有益效果是:
(1)本发明基于网页标签位置提取网页文本,可提高文本解析的准确度,基于网页标签位置的提取是基于网页原始结构,相比于正则表达式或规则提取的方式更全面、完整;
(2)本发明适合批量处理,支持大量历史数据的全量提取;因为后端处理网页文本时是以存储过程的方式,所以可以对大量历史数据进行批量更新;
(3)本发明对表格采取了动态遍历的方式,所以可以兼容任意长度的表格,适合不定长度表格,保留网页原始的表格格式,同时也能识别整个网页里所有的表格;
(4)本发明采用文本解析和清洗分离的联调和核对,使提取的网页文本内容能够持久化存储,方便核对。
附图说明
图1是本发明基于网页标签位置的文本格式化清洗方法的流程图;
图2是所述原始表的示例图;
图3是所述替换表的示例图;
图4是所述清洗表的示例图。
具体实施方式
下面结合附图对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
请参阅图1,本发明实施例包括:
一种基于网页标签位置的文本格式化清洗方法,包括以下步骤:
S1:遍历整个网页的所有标签,并记录各个标签名、标签的位置、文本内容、文档编号到原始表;具体步骤包括:
S101:读取原始网页的网络地址(URL,uniform resource locator),这个地址可以是网站的链接地址也可以是已下载的HTML文件,将该网页的内容转换为树形结构的文档对象;
S102:遍历所述树形结构的文档对象,提取包含所有标签、样式、文本内容作为初始化标签集、包含表格信息的作为表格标签集、包含DIV的作为DIV标签集;所述初始化标签集、表格标签集、DIV标签集均存储于数据框中;
其中,为了避免DIV有嵌套时,提取文本会重复,DIV标签遍历时采用不递归的方式。
S103:遍历初始化标签集,并初始化首次出现的标签,标识为0;若标签名是DIV和SCRIPT则继续循环;若首次出现标识等于当前标签的位置,则继续循环;若首次出现标识不等于当前标签的位置,则清洗含空格、半角空格、全角空格、不间断空格的文本内容,并重置初始化标签等于当前的标签位置;
S104:将初始化标签集的文档编号、标签名、标签的位置、文本内容记录到数据库,并持久化到原始表中。以上使用初始化标签的作用是避免同一个位置数据重复提取。
S2:若网页中含有表格数据,针对网页中的表格数据进行按行和列动态遍历,并将每个表格单位格的内容合并成按照制表符分割的字符串,记录文档编号、字符串、表格标签起始位置、终止位置到替换表;即若表格标签集中有内容,则需要遍历表格标签集时,记录文档编号、开始位置、结束位置、合并后文本内容,具体步骤包括:
S201:先遍历每一个表格列表对象,记录当前的位置为开始位置,再逐个遍历tr列表对象,记录td列表的最后一个位置为结束位置,对同是一行的标签提取文本内容;
这里结束位置中td标签的最后一个元素可能有个子孙标签,此时会针对td里有子孙时,取最后一个子孙节点的位置,如果没有子孙,则取td列表的最后一个元素位置为结束位置。
S202:提取文本时,清洗原始网页里可能存在的空格、半角空格、全角空格、不间断空格,按照制表符分隔同一行数据合并成新的文本;
S203:将上述过程中的文档编号、标签开始位置、标签结束位置、合并后的文本内容集中输出到数据框后,再持久化到原始表。
S3:将原始表和替换表通过文档编号匹配,删除原始表里与替换表里文档编号相同且表位置在替换表的起始位置和终止位置之间的数据,更新原始表表位置等于替换表终止位置的数据,并将清洗后的数据输出到清洗表;具体过程为:
在数据库侧匹配原始表里和替换表里文档编号的数据,将原始表里与替换表里文档编号相同且表位置在替换表的起始位置和终止位置之间的数据删除;此处删除的数据包含起始位置的数据,不包含终止位置的数据;
匹配原始表里和替换表里文档编号的数据,将替换表结束位置与原始表位置相同的文本覆盖原原始表的文本;
通过分组聚合的方法将同类的文档按照一特殊标记字符(例如^)合并成一条记录,再插入清洗表前将文本字段替换成换行符(即CHAR(10)),最终完成网页文本的清洗。
S4:若网页中没有表格数据,将网页里DIV所对应的文本提取出来,提取文档编号、文本内容到数据框后持久化到原始表,通过分组聚合的方法,将同类的文档合并插入清洗表中,完成网页文本的清洗。
以上所提及的位置均为标签的行号。所述原始表、替换表、清洗表均存储于数据库中。
下面结合一招标项目分别对原始表、替换表、清洗表所包含的内容进行示例:
如图2所示,在原始表中,id为自增ID,bindid为标书序号(即业务编号),label为网页标签名,pos为网页标签位置,cont为网页标签文本内容,catalog为地域分类,bindkind为业务分类,inserttime为插入时间;
如图3所示,在替换表中,id为自增ID,bindid为标书序号(即业务编号),start为起始位置,end为终止位置,cont为网页标签文本内容,catalog为地域分类,inserttime为插入时间;
如图4所示,在清洗表中,id为自增ID,bindid为标书序号(即业务编号),cont为网页标签文本内容,catalog为地域分类,inserttime为插入时间。
在文本解析和清洗分离中,解析部分负责文本内容的提取和过滤,清洗部分是对持久化的数据最终清洗和装载,所以在整个持久化方面需要两个模块的联调和核对。本发明所述方法使提取的网页文本内容能够持久化存储,方便核对。基于网页标签位置提取网页文本,更全面、完整,提高了文本解析的准确度;同时适合批量处理,支持大量历史数据的全量提取;适合不定长度表格,保留网页原始的表格格式。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (4)

1.一种基于网页标签位置的文本格式化清洗方法,包括以下步骤:
S1:遍历整个网页的所有标签,并记录各个标签名、标签的位置、文本内容、文档编号到原始表;
S2:若网页中含有表格数据,针对网页中的表格数据进行按行和列动态遍历,并将每个表格单位格的内容合并成按照制表符分割的字符串,记录文档编号、字符串、表格标签起始位置、终止位置到替换表;
S3:将原始表和替换表通过文档编号匹配,删除原始表里与替换表里文档编号相同且表位置在替换表的起始位置和终止位置之间的数据,更新原始表表位置等于替换表终止位置的数据,并将清洗后的数据输出到清洗表;
S4:若网页中没有表格数据,将网页里DIV所对应的文本提取出来,提取文档编号、文本内容到数据框后持久化到原始表,通过分组聚合的方法,将同类的文档合并插入清洗表中,完成网页文本的清洗。
2.根据权利要求1所述的基于网页标签位置的文本格式化清洗方法,其特征在于,步骤S1的具体步骤包括:
S101:读取原始网页的网络地址,将该网页的内容转换为树形结构的文档对象;
S102:遍历所述树形结构的文档对象,提取包含所有标签、样式、文本内容的初始化标签集、包含表格信息的表格标签集、包含DIV的DIV标签集;
S103:遍历初始化标签集,并初始化首次出现的标签,标识为0;若标签名是DIV和SCRIPT则继续循环;若首次出现标识等于当前标签的位置,则继续循环;若首次出现标识不等于当前标签的位置,则清洗含空格、半角空格、全角空格、不间断空格的文本内容,并重置初始化标签等于当前的标签位置;
S104:将初始化标签集的文档编号、标签名、标签的位置、文本内容记录到数据库,并持久化到原始表中。
3.根据权利要求1所述的基于网页标签位置的文本格式化清洗方法,其特征在于,步骤S2的具体步骤包括:
S201:先遍历每一个表格列表对象,记录当前的位置为开始位置,再逐个遍历tr列表对象,记录td列表的最后一个位置为结束位置,对同是一行的标签提取文本内容;
S202:提取文本时,清洗原始网页里可能存在的空格、半角空格、全角空格、不间断空格,按照制表符分隔同一行数据合并成新的文本;
S203:将上述过程中的文档编号、标签开始位置、标签结束位置、合并后的文本内容集中输出到数据框后,再持久化到原始表。
4.根据权利要求1所述的基于网页标签位置的文本格式化清洗方法,其特征在于,步骤S3的具体过程为:
在数据库侧匹配原始表里和替换表里文档编号的数据,将原始表里与替换表里文档编号相同且表位置在替换表的起始位置和终止位置之间的数据删除;
匹配原始表里和替换表里文档编号的数据,将替换表结束位置与原始表位置相同的文本覆盖原原始表的文本;
通过分组聚合的方法将同类的文档按照一特殊标记字符合并成一条记录,再插入清洗表前将文本字段替换成换行符,最终完成网页文本的清洗。
CN202010312989.5A 2020-04-20 2020-04-20 基于网页标签位置的文本格式化清洗方法 Pending CN111597292A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010312989.5A CN111597292A (zh) 2020-04-20 2020-04-20 基于网页标签位置的文本格式化清洗方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010312989.5A CN111597292A (zh) 2020-04-20 2020-04-20 基于网页标签位置的文本格式化清洗方法

Publications (1)

Publication Number Publication Date
CN111597292A true CN111597292A (zh) 2020-08-28

Family

ID=72185194

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010312989.5A Pending CN111597292A (zh) 2020-04-20 2020-04-20 基于网页标签位置的文本格式化清洗方法

Country Status (1)

Country Link
CN (1) CN111597292A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111931113A (zh) * 2020-09-16 2020-11-13 深圳壹账通智能科技有限公司 一种数据清洗方法及相关设备
CN112800049A (zh) * 2021-04-06 2021-05-14 航天神舟智慧系统技术有限公司 基于大数据的excel数据源清洗方法、系统、电子设备和存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111931113A (zh) * 2020-09-16 2020-11-13 深圳壹账通智能科技有限公司 一种数据清洗方法及相关设备
CN112800049A (zh) * 2021-04-06 2021-05-14 航天神舟智慧系统技术有限公司 基于大数据的excel数据源清洗方法、系统、电子设备和存储介质

Similar Documents

Publication Publication Date Title
CN109062874B (zh) 财政数据的获取方法、终端设备及介质
CN110083805B (zh) 一种将Word文件转换为EPUB文件的方法及系统
US9489385B1 (en) Exact look and feel for sharepoint archived content
US9619448B2 (en) Automated document revision markup and change control
CN101271463B (zh) 版式文件的结构处理方法和系统
US20080235227A1 (en) Systems and methods to extract data automatically from a composite electronic document
CN100444591C (zh) 获取网页关键字的方法及其应用系统
JP2002318798A (ja) 構造化文書翻訳におけるユーザ制御可能なデータをグループ化する方法およびシステム
CN109492177B (zh) 一种基于网页语义结构的网页分块方法
CN102314497B (zh) 一种用于识别标记语言文件主体内容的方法和设备
US9817887B2 (en) Universal text representation with import/export support for various document formats
CN116955674B (zh) 一种通过LLM生成图数据库语句的方法及web装置
CN104699714A (zh) 将书版格式文件转换为epub格式文件的方法及装置
CN111597292A (zh) 基于网页标签位置的文本格式化清洗方法
CN108874934B (zh) 页面正文提取方法和装置
CN102937949A (zh) 一种在富文本编辑器内实现英文拼写检查的方法及系统
CN113868568A (zh) 一种网页关键字高亮方法、装置、设备及存储介质
CN107145591B (zh) 一种基于标题的网页有效元数据内容提取方法
CN107590288B (zh) 用于抽取网页图文块的方法和装置
CN112395418A (zh) 网页中的目标对象提取方法、装置、电子设备
CN105740355A (zh) 基于聚集文本密度的网页正文提取方法及装置
CN112433995B (zh) 文件格式转换方法、系统、计算机设备及存储介质
US8656371B2 (en) System and method of report representation
CN112733056A (zh) 一种文档处理方法、装置、设备及存储介质
CN113139145B (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200828