CN111597292A - 基于网页标签位置的文本格式化清洗方法 - Google Patents
基于网页标签位置的文本格式化清洗方法 Download PDFInfo
- 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
Links
- 238000004140 cleaning Methods 0.000 title claims abstract description 43
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000002085 persistent effect Effects 0.000 claims abstract description 8
- 238000006467 substitution reaction Methods 0.000 claims abstract description 6
- 238000004220 aggregation Methods 0.000 claims abstract description 5
- 230000002776 aggregation Effects 0.000 claims abstract description 5
- 230000004931 aggregating effect Effects 0.000 claims description 2
- 238000004458 analytical method Methods 0.000 abstract description 7
- 238000000605 extraction Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 2
- 230000002688 persistence Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010926 purge Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
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/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/313—Selection or weighting of terms for indexing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving 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的具体过程为:
在数据库侧匹配原始表里和替换表里文档编号的数据,将原始表里与替换表里文档编号相同且表位置在替换表的起始位置和终止位置之间的数据删除;
匹配原始表里和替换表里文档编号的数据,将替换表结束位置与原始表位置相同的文本覆盖原原始表的文本;
通过分组聚合的方法将同类的文档按照一特殊标记字符合并成一条记录,再插入清洗表前将文本字段替换成换行符,最终完成网页文本的清洗。
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)
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数据源清洗方法、系统、电子设备和存储介质 |
-
2020
- 2020-04-20 CN CN202010312989.5A patent/CN111597292A/zh active Pending
Cited By (2)
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 |