CN102663041B - 面向深层网页面数据自动抽取方法 - Google Patents

面向深层网页面数据自动抽取方法 Download PDF

Info

Publication number
CN102663041B
CN102663041B CN201210086024.4A CN201210086024A CN102663041B CN 102663041 B CN102663041 B CN 102663041B CN 201210086024 A CN201210086024 A CN 201210086024A CN 102663041 B CN102663041 B CN 102663041B
Authority
CN
China
Prior art keywords
page
node
child node
data extraction
attribute
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.)
Expired - Fee Related
Application number
CN201210086024.4A
Other languages
English (en)
Other versions
CN102663041A (zh
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.)
Chongqing University
Original Assignee
Chongqing University
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 Chongqing University filed Critical Chongqing University
Priority to CN201210086024.4A priority Critical patent/CN102663041B/zh
Publication of CN102663041A publication Critical patent/CN102663041A/zh
Application granted granted Critical
Publication of CN102663041B publication Critical patent/CN102663041B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种面向深层网页面数据自动抽取方法,属于计算机数据挖掘领域,首先获取同一站点的两个深层网页面,分别标记为页面一和页面二;用HTMLTidy转换工具将页面一和页面二的HTML文档转换为XHTML文档;然后对页面一和页面二进行清噪处理;将页面一和页面二进行重复模式消除处理后生成网页数据抽取包装器;提取页面时先将待抽取数据的页面进行清噪处理;然后用网页数据抽取包装器先对经过清噪后的页面进行标记,最后抽取标记后的页面,本发明提高了重复模式消除算法和匹配算法的效率,降低了抽取复杂度,该方法中针对重复模式消除算法的特征而设计的匹配算法和抽取算法过程简单快速,同时提高了数据抽取的准确率。

Description

面向深层网页面数据自动抽取方法
技术领域
本发明属于计算机数据挖掘领域,特别是涉及一种面向深层网的页面数据自动抽取方法。
背景技术
目前在深层网页面数据抽取研究领域,开发了很多自动化或半自动化的数据抽取工具,其中有通过学习使用手工标注的样本页面来获取网页数据抽取包装器的方法,这类方法需要大量的人工参与,导致自动化程度较低,包装器的生成及维护很困难,还有基于视觉的数据抽取方法,这种方法在一定程度上克服了现有方法对HTML原页面的依赖,但是由于Web页面数据的半结构或是无结构的特点,获取精确的视觉信息也是十分困难的,同时还有自动化的数据抽取方法,其可以自动归纳抽取规则进而抽取数据,特别适用于对数据密集型页面的抽取,但是,从网页中获取网页数据抽取包装器时采用回溯法处理重复模式问题,导致其时间复杂度是指数级的,并且由于现有的自动化数据抽取工具并没有对页面进行预处理,导致其效率不高。
因此本领域技术人员致力于开发一种面向深层网页面数据自动抽取的重复模式消除方法,以改进现有自动化的数据抽取技术中效率低和准确率不高的状况。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种面向深层网页面数据自动抽取的重复模式消除方法,以改进现有自动化的数据抽取技术中效率低和准确率不高的状况。
为实现上述目的,本发明提供了一种面向深层网页面数据自动抽取方法,按以下步骤进行:
S1、获取同一站点的两个深层网页面,分别标记为页面一和页面二;用HTML Tidy转换工具将页面一和页面二的HTML文档转换为XHTML文档; 
S2、对页面一和页面二进行清噪处理;
S3、将页面一和页面二进行重复模式消除处理;
S4、生成网页数据抽取包装器;
S5、将待抽取数据的页面                                                
Figure 2012100860244100002DEST_PATH_IMAGE001
进行清噪处理;
S6、网页数据抽取包装器先对步骤S5中经过清噪后的页面进行标记,然后抽取标记后的页面;
步骤S3中所述进行重复模式消除处理按照以下步骤进行:
A1、在VS平台(Visual Studio平台)中使用XMLDocument加载清噪处理后的页面;所述VS平台为微软公司推出的软件开发平台; 
A2、从根节点开始依次判断各节点是否有子节点,当有子节点时执行步骤A3,直到所有节点均被判断;
A3、判断所述节点内的各相邻子节点是否类型相同;当所述节点内相邻的子节点类型相同时,转至步骤A4;当所述节点内相邻的子节点类型不同时,转至步骤A5;
A4、当所述节点内相邻的子节点类型相同时,认为该相邻子节点都是元素节点;比较所述相邻的元素节点的内部子标签是否相同;当所述相邻的元素节点的内部子标签相同时,则这两个元素节点为相同的重复模式;为第一个元素节点添加iteration属性,为第二个元素节点添加del属性,直到所述节点内所有的相邻子节点均被比较;当所述相邻的元素节点的内部子标签不同时,转至步骤A3递归判断第一个元素节点的子节点,完成后转至步骤A3继续将第二个元素节点与其后面相邻节点进行比较,直到所述节点内所有的相邻子节点均被比较;
A5、当所述节点内相邻的子节点类型不同时,认为该相邻子节点一个是元素节点,一个是文本节点;如果第一个子节点是元素节点,则转至步骤A3递归处理所述元素节点的子节点,完成后转至步骤A3继续将第二个子节点与其后面相邻子节点进行比较,直到所述节点内所有的相邻子节点均被比较;如果第二个子节点是元素节点,转至步骤A3将第二个节点与其后面相邻节点进行比较,直到该节点内所有的相邻子节点均被比较;
A6、当比较的最后一个节点是元素节点且没有del属性时,则转至步骤A3递归处理其子节点。
A7、删除具有del属性的节点,重复模式消除算法结束。
步骤S2所述进行清噪处理清除了JavaScript,CSS和注释这三种标签;清除了空格&nbsp标签;清除了对于数据抽取无作用的部分元素属性,只留下了元素img、a和meta的属性。
步骤S4所述生成网页数据抽取包装器按以下步骤进行:
B1、将页面一和页面二分别载入XMLDocument;
B2、当页面一和页面二根节点的元素名称不相同时,为这两个根节点添加uf属性;当页面一和页面二根节点的子节点个数不相同时,为这两个根节点添加uf属性;当页面一和页面二根节点的OutXml相同时,则为这两个根节点添加ad属性;当页面一和页面二根节点的OutXml不相同且其中一个根节点有iteration属性时,则为这两个根节点添加uf属性;否则转至步骤B3;
B3、当页面一和页面二的根节点都没有iteration属性时,则判断这两个根节点的内部子标签是否完全相同,当页面一和页面二根节点的内部子标签相同且非空时转至步骤B4,否则转至步骤B5;
B4、判断页面一和页面二根节点的InnerText属性是否相同,当页面一和页面二根节点的InnerText属性相同则转至步骤B6,否则转至步骤B7;
B5、遍历页面一和页面二两个根节点的子节点,当页面一和页面二相对应的子节点都是元素类型时,则将这两个子节点作为根节点递归执行步骤B2;当相对应的子节点都是文本节点时,则将文本字符串各自累加;当页面一和页面二相对应的子节点一个是元素节点、另一个是文本节点时,则为所述页面一和页面二的根节点添加uf属性;当页面一和页面二两个根节点的所有子节点比较完后,判断所述两个根节点累加的文本字符串,当所述页面一和页面二两个根节点累加的文本字符串相等时,为所述页面一和页面二的两个根节点添加textad属性;当所述页面一和页面二两个根节点累加的文本字符串不等时,为所述页面一和页面二的两个根节点添加textuf属性;
B6、当页面一和页面二的根节点是图片或者链接时,为这两个根节点添加uf属性;否则转至步骤B5;
B7、判断页面一和页面二的两个根节点有无元素子节点;当页面一和页面二的两个根节点均没有元素子节点时,为这两个根节点添加uf属性;否则转至步骤B5;
B8、所有递归结束后,经过属性标记后页面一或页面二中任意一个页面为该站点的网页数据抽取包装器。
步骤S6所述网页数据抽取包装器对经过清噪后的待抽取页面
Figure 193157DEST_PATH_IMAGE001
进行标记按以下步骤进行:
C1、从所述网页数据抽取包装器的根节点开始,判断所述网页数据抽取包装器中与待抽取页面
Figure 47981DEST_PATH_IMAGE001
对应的节点是否有uf属性、ad属性或textuf属性;当所述网页数据抽取包装器中与待抽取页面对应的节点含有uf属性、ad属性或textuf属性任意一种属性时,为待抽取页面与所述网页数据抽取包装器对应的节点添加同样的属性;当所述网页数据抽取包装器中与待抽取页面
Figure 348884DEST_PATH_IMAGE001
对应的节点没有uf属性、ad属性或textuf属性任意一种属性时,判断所述网页数据抽取包装器和待抽取页面
Figure 109030DEST_PATH_IMAGE001
对应节点的子节点个数是否相同,当所述网页数据抽取包装器和待抽取页面
Figure 376063DEST_PATH_IMAGE001
对应节点的子节点个数相同时执行步骤C2,否则执行步骤C3;
C2、判断该网页数据抽取包装器和待抽取页面
Figure 14111DEST_PATH_IMAGE001
对应节点的对应子节点是否均为元素节点;当该网页数据抽取包装器和待抽取页面
Figure 620673DEST_PATH_IMAGE001
对应节点的对应子节点均为元素节点时,以该网页数据抽取包装器和待抽取页面
Figure 551720DEST_PATH_IMAGE001
的对应节点为根节点执行步骤C1;当该网页数据抽取包装器对应节点的子节点为文本文档、待抽取页面
Figure 306049DEST_PATH_IMAGE001
与该网页数据抽取包装器对应的子节点为元素节点时,为该待抽取页面
Figure 980744DEST_PATH_IMAGE001
对应的子节点添加uf属性;
C3、判断该网页数据抽取包装器和待抽取页面
Figure 940348DEST_PATH_IMAGE001
对应子节点的内部子标签是否完全相同,当该网页数据抽取包装器和待抽取页面
Figure 307875DEST_PATH_IMAGE001
对应子节点的内部子标签不同时执行步骤C4;当该网页数据抽取包装器和待抽取页面对应子节点的内部子标签完全相同,则将该网页数据抽取包装器的子节点的布尔值设置为真;然后判断所述网页数据抽取包装器的子节点是否具有iteration属性,当所述网页数据抽取包装器中的子节点有iteration属性时,执行步骤C5;当所述网页数据抽取包装器中的子节点没有iteration属性时,执行步骤C6;
C4、遍历待抽取页面
Figure 762307DEST_PATH_IMAGE001
中与所述网页数据抽取包装器对应子节点的下一个子节点,判断是否与所述网页数据抽取包装器中的子节点相匹配;当没有与所述网页数据抽取包装器中对应子节点匹配成功时,则继续针对所述网页数据抽取包装器中的下一个节点进行判断,直到所述网页数据抽取包装器的子节点判断完成; 
C5、当所述网页数据抽取包装器中的子节点有iteration属性时,在待抽取页面
Figure 343461DEST_PATH_IMAGE001
中遍历与所述网页数据抽取包装器对应子节点的下一个子节点,判断待抽取页面
Figure 117776DEST_PATH_IMAGE001
中继续遍历的子节点与该网页数据抽取包装器中的子节点是否匹配,所述匹配是指两个子节点的内部子标签相同;当在待抽取页面
Figure 846697DEST_PATH_IMAGE001
中找到一个与所述网页数据抽取包装器的子节点匹配的子节点时,则将该网页数据抽取包装器的子节点的布尔值设置为真;当待抽取页面
Figure 863195DEST_PATH_IMAGE001
中继续遍历的子节点与该网页数据抽取包装器中的子节点出现第一次不匹配时结束;然后将所述网页数据抽取包装器该子节点的后一个子节点继续执行步骤C5,直到所述网页数据抽取包装器中该子节点后的子节点均被判断;
C6、当所述网页数据抽取包装器中的子节点没有iteration属性时,将所述网页数据抽取包装器中的该子节点与待抽取页面
Figure 298855DEST_PATH_IMAGE001
中的所有节点进行比较,当出现与所述网页数据抽取包装器中的该子节点相匹配的节点或是待抽取页面
Figure 8185DEST_PATH_IMAGE001
中的所有节点均比较完时结束;将所述网页数据抽取包装器中没有匹配成功的节点与待抽取文件中没有匹配成功的节点进行比较,当所述网页数据抽取包装器中没有匹配成功的节点与待抽取文件中没有匹配成功的节点没有相匹配的节点时,将待抽取页面中没有匹配成功的节点标记uf属性; 
C7、所有递归结束后,对待抽取页面
Figure 277547DEST_PATH_IMAGE001
中具有uf属性或textuf属性的节点进行抽取,存储为XML格式文档,抽取算法结束。
本发明的有益效果是:本发明采用了清噪模块对页面的大部分无用信息进行清除,这样使得页面更简洁,提高了重复模式消除算法和匹配算法的效率,重复模式的合并使得匹配算法不需要回溯处理重复模式,只需顺序处理页面文档即可,因此降低了时间复杂度,多个重复模式合并为一项,实质为只留下第一个重复模式并为其添加几个属性,这样在一定程度上也降低了空间复杂度,该方法中针对重复模式消除算法的特征而设计的匹配算法和抽取算法过程简单快速,同时提高了数据抽取的准确率。
附图说明
图1是本发明一具体实施方式的流程示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明:
如图1所示,一种面向深层网页面数据自动抽取方法,按以下步骤进行:
S1、获取同一站点的两个深层网页面,分别标记为页面一和页面二;用HTML Tidy转换工具将页面一和页面二的HTML文档转换为XHTML文档; 
S2、对页面一和页面二进行清噪处理;
S3、将页面一和页面二进行重复模式消除处理;
S4、生成网页数据抽取包装器;
S5、将待抽取数据的页面
Figure 567714DEST_PATH_IMAGE001
进行清噪处理;
S6、网页数据抽取包装器先对步骤S5中经过清噪后的页面进行标记,然后抽取标记后的页面;
步骤S3中所述进行重复模式消除处理按照以下步骤进行:
A1、在VS平台中使用XMLDocument加载清噪处理后的页面;
A2、从根节点开始依次判断各节点是否有子节点,当有子节点时执行步骤A3,直到所有节点均被判断;
A3、判断所述节点内的各相邻子节点是否类型相同;当所述节点内相邻的子节点类型相同时,转至步骤A4;当所述节点内相邻的子节点类型不同时,转至步骤A5;
A4、当所述节点内相邻的子节点类型相同时,认为该相邻子节点都是元素节点;比较所述相邻的元素节点的内部子标签是否相同;当所述相邻的元素节点的内部子标签相同时,则这两个元素节点为相同的重复模式;为第一个元素节点添加iteration属性,为第二个元素节点添加del属性,直到所述节点内所有的相邻子节点均被比较;当所述相邻的元素节点的内部子标签不同时,转至步骤A3递归判断第一个元素节点的子节点,完成后转至步骤A3继续将第二个元素节点与其后面相邻节点进行比较,直到所述节点内所有的相邻子节点均被比较;
A5、当所述节点内相邻的子节点类型不同时,认为该相邻子节点一个是元素节点,一个是文本节点;如果第一个子节点是元素节点,则转至步骤A3递归处理所述元素节点的子节点,完成后转至步骤A3继续将第二个子节点与其后面相邻子节点进行比较,直到所述节点内所有的相邻子节点均被比较;如果第二个子节点是元素节点,转至步骤A3将第二个节点与其后面相邻节点进行比较,直到该节点内所有的相邻子节点均被比较;
A6、当比较的最后一个节点是元素节点且没有del属性时,则转至步骤A3递归处理其子节点。
A7、删除具有del属性的节点,重复模式消除算法结束。
步骤S2所述进行清噪处理清除了JavaScript,CSS和注释这三种标签;清除了空格&nbsp标签;清除了对于数据抽取无作用的部分元素属性,只留下了元素img、a和meta的属性。
步骤S4所述生成网页数据抽取包装器按以下步骤进行:
B1、将页面一和页面二分别载入XMLDocument;
B2、当页面一和页面二根节点的元素名称不相同时,为这两个根节点添加uf属性;当页面一和页面二根节点的子节点个数不相同时,为这两个根节点添加uf属性;当页面一和页面二根节点的OutXml相同时,则为这两个根节点添加ad属性;当页面一和页面二根节点的OutXml不相同且其中一个根节点有iteration属性时,则为这两个根节点添加uf属性;否则转至步骤B3;
B3、当页面一和页面二的根节点都没有iteration属性时,则判断这两个根节点的内部子标签是否完全相同,当页面一和页面二根节点的内部子标签相同且非空时转至步骤B4,否则转至步骤B5;
B4、判断页面一和页面二根节点的InnerText属性是否相同,当页面一和页面二根节点的InnerText属性相同则转至步骤B6,否则转至步骤B7;
B5、遍历页面一和页面二两个根节点的子节点,当页面一和页面二相对应的子节点都是元素类型时,则将这两个子节点作为根节点递归执行步骤B2;当相对应的子节点都是文本节点时,则将文本字符串各自累加;当页面一和页面二相对应的子节点一个是元素节点、另一个是文本节点时,则为所述页面一和页面二的根节点添加uf属性;当页面一和页面二两个根节点的所有子节点比较完后,判断所述两个根节点累加的文本字符串,当所述页面一和页面二两个根节点累加的文本字符串相等时,为所述页面一和页面二的两个根节点添加textad属性;当所述页面一和页面二两个根节点累加的文本字符串不等时,为所述页面一和页面二的两个根节点添加textuf属性;
B6、当页面一和页面二的根节点是图片或者链接时,为这两个根节点添加uf属性;否则转至步骤B5;
B7、判断页面一和页面二的两个根节点有无元素子节点;当页面一和页面二的两个根节点均没有元素子节点时,为这两个根节点添加uf属性;否则转至步骤B5;
B8、所有递归结束后,经过属性标记后页面一或页面二中任意一个页面为该站点的网页数据抽取包装器。
步骤S6所述网页数据抽取包装器对经过清噪后的待抽取页面
Figure 447946DEST_PATH_IMAGE001
进行标记按以下步骤进行:
C1、从所述网页数据抽取包装器的根节点开始,判断所述网页数据抽取包装器中与待抽取页面
Figure 885880DEST_PATH_IMAGE001
对应的节点是否有uf属性、ad属性或textuf属性;当所述网页数据抽取包装器中与待抽取页面
Figure 244180DEST_PATH_IMAGE001
对应的节点含有uf属性、ad属性或textuf属性任意一种属性时,为待抽取页面
Figure 155898DEST_PATH_IMAGE001
与所述网页数据抽取包装器对应的节点添加同样的属性;当所述网页数据抽取包装器中与待抽取页面对应的节点没有uf属性、ad属性或textuf属性任意一种属性时,判断所述网页数据抽取包装器和待抽取页面
Figure 132261DEST_PATH_IMAGE001
对应节点的子节点个数是否相同,当所述网页数据抽取包装器和待抽取页面
Figure 294252DEST_PATH_IMAGE001
对应节点的子节点个数相同时执行步骤C2,否则执行步骤C3;
C2、判断该网页数据抽取包装器和待抽取页面
Figure 293432DEST_PATH_IMAGE001
对应节点的对应子节点是否均为元素节点;当该网页数据抽取包装器和待抽取页面对应节点的对应子节点均为元素节点时,以该网页数据抽取包装器和待抽取页面
Figure 426528DEST_PATH_IMAGE001
的对应节点为根节点执行步骤C1;当该网页数据抽取包装器对应节点的子节点为文本文档、待抽取页面与该网页数据抽取包装器对应的子节点为元素节点时,为该待抽取页面
Figure 511476DEST_PATH_IMAGE001
对应的子节点添加uf属性;
C3、判断该网页数据抽取包装器和待抽取页面
Figure 638832DEST_PATH_IMAGE001
对应子节点的内部子标签是否完全相同,当该网页数据抽取包装器和待抽取页面
Figure 538655DEST_PATH_IMAGE001
对应子节点的内部子标签不同时执行步骤C4;当该网页数据抽取包装器和待抽取页面
Figure 532195DEST_PATH_IMAGE001
对应子节点的内部子标签完全相同,则将该网页数据抽取包装器的子节点的布尔值设置为真;然后判断所述网页数据抽取包装器的子节点是否具有iteration属性,当所述网页数据抽取包装器中的子节点有iteration属性时,执行步骤C5;当所述网页数据抽取包装器中的子节点没有iteration属性时,执行步骤C6;
C4、遍历待抽取页面中与所述网页数据抽取包装器对应子节点的下一个子节点,判断是否与所述网页数据抽取包装器中的子节点相匹配;当没有与所述网页数据抽取包装器中对应子节点匹配成功时,则继续针对所述网页数据抽取包装器中的下一个节点进行判断,直到所述网页数据抽取包装器的子节点判断完成; 
C5、当所述网页数据抽取包装器中的子节点有iteration属性时,在待抽取页面
Figure 69803DEST_PATH_IMAGE001
中遍历与所述网页数据抽取包装器对应子节点的下一个子节点,判断待抽取页面
Figure 456922DEST_PATH_IMAGE001
中继续遍历的子节点与该网页数据抽取包装器中的子节点是否匹配,所述匹配是指两个子节点的内部子标签相同;当在待抽取页面
Figure 764407DEST_PATH_IMAGE001
中找到一个与所述网页数据抽取包装器的子节点匹配的子节点时,则将该网页数据抽取包装器的子节点的布尔值设置为真;当待抽取页面
Figure 91221DEST_PATH_IMAGE001
中继续遍历的子节点与该网页数据抽取包装器中的子节点出现第一次不匹配时结束;然后将所述网页数据抽取包装器该子节点的后一个子节点继续执行步骤C5,直到所述网页数据抽取包装器中该子节点后的子节点均被判断;
C6、当所述网页数据抽取包装器中的子节点没有iteration属性时,将所述网页数据抽取包装器中的该子节点与待抽取页面
Figure 825959DEST_PATH_IMAGE001
中的所有节点进行比较,当出现与所述网页数据抽取包装器中的该子节点相匹配的节点或是待抽取页面
Figure 434794DEST_PATH_IMAGE001
中的所有节点均比较完时结束;将所述网页数据抽取包装器中没有匹配成功的节点与待抽取文件中没有匹配成功的节点进行比较,当所述网页数据抽取包装器中没有匹配成功的节点与待抽取文件中没有匹配成功的节点没有相匹配的节点时,将待抽取页面
Figure 545970DEST_PATH_IMAGE001
中没有匹配成功的节点标记uf属性; 
C7、所有递归结束后,对待抽取页面
Figure 494334DEST_PATH_IMAGE001
中具有uf属性或textuf属性的节点进行抽取,存储为XML格式文档,抽取算法结束。 
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

Claims (2)

1.一种面向深层网页面数据自动抽取方法,其特征在于包括以下步骤:
S1、获取同一站点的两个深层网页面,分别标记为页面一和页面二;用HTML Tidy转换工具将页面一和页面二的HTML文档转换为XHTML文档; 
S2、对页面一和页面二进行清噪处理;
S3、将页面一和页面二进行重复模式消除处理;
S4、生成网页数据抽取包装器;
S5、将待抽取数据的页面                                                
Figure 2012100860244100001DEST_PATH_IMAGE001
进行清噪处理;
S6、网页数据抽取包装器先对步骤S5中经过清噪后的页面进行标记,然后抽取标记后的页面;
步骤S3中所述进行重复模式消除处理按照以下步骤进行:
A1、在VS平台中使用XMLDocument加载清噪处理后的页面;
A2、从根节点开始依次判断各节点是否有子节点,当有子节点时执行步骤A3,直到所有节点均被判断;
A3、判断所述节点内的各相邻子节点是否类型相同;当所述节点内相邻的子节点类型相同时,转至步骤A4;当所述节点内相邻的子节点类型不同时,转至步骤A5;
A4、当所述节点内相邻的子节点类型相同时,认为该相邻子节点都是元素节点;比较所述相邻的元素节点的内部子标签是否相同;当所述相邻的元素节点的内部子标签相同时,则这两个元素节点为相同的重复模式;为第一个元素节点添加iteration属性,为第二个元素节点添加del属性;当所述相邻的元素节点的内部子标签不同时,转至步骤A3递归判断第一个元素节点的子节点,完成后转至步骤A3继续将第二个元素节点与其后面相邻节点进行比较;
A5、当所述节点内相邻的子节点类型不同时,认为该相邻子节点一个是元素节点,一个是文本节点;如果第一个子节点是元素节点,则转至步骤A3递归处理所述元素节点的子节点,完成后转至步骤A3继续将第二个子节点与其后面相邻子节点进行比较,直到所述节点内所有的相邻子节点均被比较;如果第二个子节点是元素节点,转至步骤A3将第二个节点与其后面相邻节点进行比较,直到该节点内所有的相邻子节点均被比较;
A6、当比较的最后一个节点是元素节点且没有del属性时,则转至步骤A3递归处理其子节点;
A7、删除具有del属性的节点,重复模式消除算法结束;
步骤S4所述生成网页数据抽取包装器按以下步骤进行:
B1、将页面一和页面二分别载入XMLDocument;
B2、当页面一和页面二根节点的元素名称不相同时,为这两个根节点添加uf属性;当页面一和页面二根节点的子节点个数不相同时,为这两个根节点添加uf属性;当页面一和页面二根节点的OutXml相同时,则为这两个根节点添加ad属性;当页面一和页面二根节点的OutXml不相同且其中一个根节点有iteration属性时,则为这两个根节点添加uf属性;否则转至步骤B3;
B3、当页面一和页面二的根节点都没有iteration属性时,则判断这两个根节点的内部子标签是否完全相同,当页面一和页面二根节点的内部子标签相同且非空时转至步骤B4,否则转至步骤B5;
B4、判断页面一和页面二根节点的InnerText属性是否相同,当页面一和页面二根节点的InnerText属性相同则转至步骤B6,否则转至步骤B7;
B5、遍历页面一和页面二两个根节点的子节点,当页面一和页面二相对应的子节点都是元素类型时,则将这两个子节点作为根节点递归执行步骤B2;当相对应的子节点都是文本节点时,则将文本字符串各自累加;当页面一和页面二相对应的子节点一个是元素节点、另一个是文本节点时,则为所述页面一和页面二的根节点添加uf属性;当页面一和页面二两个根节点的所有子节点比较完后,判断所述两个根节点累加的文本字符串,当所述页面一和页面二两个根节点累加的文本字符串相等时,为所述页面一和页面二的两个根节点添加textad属性;当所述页面一和页面二两个根节点累加的文本字符串不等时,为所述页面一和页面二的两个根节点添加textuf属性;
B6、当页面一和页面二的根节点是图片或者链接时,为这两个根节点添加uf属性;否则转至步骤B5;
B7、判断页面一和页面二的两个根节点有无元素子节点;当页面一和页面二的两个根节点均没有元素子节点时,为这两个根节点添加uf属性;否则转至步骤B5;
B8、所有递归结束后,经过属性标记后页面一或页面二中任意一个页面为该站点的网页数据抽取包装器;
步骤S6所述网页数据抽取包装器对经过清噪后的待抽取页面
Figure 120098DEST_PATH_IMAGE001
进行标记按以下步骤进行:
C1、从所述网页数据抽取包装器的根节点开始,判断所述网页数据抽取包装器中与待抽取页面
Figure 37239DEST_PATH_IMAGE001
对应的节点是否有uf属性、ad属性或textuf属性任意一种属性;当所述网页数据抽取包装器中与待抽取页面
Figure 816976DEST_PATH_IMAGE001
对应的节点含有uf属性、ad属性或textuf属性任意一种属性时,为待抽取页面
Figure 648403DEST_PATH_IMAGE001
与所述网页数据抽取包装器对应的节点添加同样的属性;当所述网页数据抽取包装器中与待抽取页面对应的节点没有uf属性、ad属性或textuf属性任意一种属性时,判断所述网页数据抽取包装器和待抽取页面
Figure 285238DEST_PATH_IMAGE001
对应节点的子节点个数是否相同,当所述网页数据抽取包装器和待抽取页面
Figure 552271DEST_PATH_IMAGE001
对应节点的子节点个数相同时执行步骤C2,否则执行步骤C3;
C2、判断该网页数据抽取包装器和待抽取页面
Figure 688855DEST_PATH_IMAGE001
对应节点的对应子节点是否均为元素节点;当该网页数据抽取包装器和待抽取页面
Figure 357733DEST_PATH_IMAGE001
对应节点的对应子节点均为元素节点时,以该网页数据抽取包装器和待抽取页面
Figure 351097DEST_PATH_IMAGE001
的对应节点为根节点执行步骤C1;当该网页数据抽取包装器对应节点的子节点为文本文档、待抽取页面
Figure 43110DEST_PATH_IMAGE001
与该网页数据抽取包装器对应的子节点为元素节点时,为该待抽取页面
Figure 780122DEST_PATH_IMAGE001
对应的子节点添加uf属性;
C3、判断该网页数据抽取包装器和待抽取页面
Figure 303507DEST_PATH_IMAGE001
对应子节点的内部子标签是否完全相同,当该网页数据抽取包装器和待抽取页面
Figure 733351DEST_PATH_IMAGE001
对应子节点的内部子标签不同时执行步骤C4;当该网页数据抽取包装器和待抽取页面
Figure 912660DEST_PATH_IMAGE001
对应子节点的内部子标签完全相同,则将该网页数据抽取包装器的子节点的布尔值设置为真;然后判断所述网页数据抽取包装器的子节点是否具有iteration属性,当所述网页数据抽取包装器中的子节点有iteration属性时,执行步骤C5;当所述网页数据抽取包装器中的子节点没有iteration属性时,执行步骤C6;
C4、遍历待抽取页面
Figure 187783DEST_PATH_IMAGE001
中与所述网页数据抽取包装器对应子节点的下一个子节点,判断是否与所述网页数据抽取包装器中的子节点相匹配;当没有与所述网页数据抽取包装器中对应子节点匹配成功时,则继续针对所述网页数据抽取包装器中的下一个节点进行判断,直到所述网页数据抽取包装器的子节点判断完成; 
C5、当所述网页数据抽取包装器中的子节点有iteration属性时,在待抽取页面
Figure 831254DEST_PATH_IMAGE001
中遍历与所述网页数据抽取包装器对应子节点的下一个子节点,判断待抽取页面中继续遍历的子节点与该网页数据抽取包装器中的子节点是否匹配,所述匹配是指两个子节点的内部子标签相同;当在待抽取页面
Figure 331560DEST_PATH_IMAGE001
中找到一个与所述网页数据抽取包装器的子节点匹配的子节点时,则将该网页数据抽取包装器的子节点的布尔值设置为真;当待抽取页面
Figure 410375DEST_PATH_IMAGE001
中继续遍历的子节点与该网页数据抽取包装器中的子节点出现第一次不匹配时结束;然后将所述网页数据抽取包装器该子节点的后一个子节点继续执行步骤C5,直到所述网页数据抽取包装器中该子节点后的子节点均被判断;
C6、当所述网页数据抽取包装器中的子节点没有iteration属性时,将所述网页数据抽取包装器中的该子节点与待抽取页面
Figure 908352DEST_PATH_IMAGE001
中的所有节点进行比较,当出现与所述网页数据抽取包装器中的该子节点相匹配的节点或是待抽取页面
Figure 617682DEST_PATH_IMAGE001
中的所有节点均比较完时结束;将所述网页数据抽取包装器中没有匹配成功的节点与待抽取文件中没有匹配成功的节点进行比较,当所述网页数据抽取包装器中没有匹配成功的节点与待抽取文件中没有匹配成功的节点没有相匹配的节点时,将待抽取页面
Figure 568321DEST_PATH_IMAGE001
中没有匹配成功的节点标记uf属性; 
C7、所有递归结束后,对待抽取页面
Figure 450826DEST_PATH_IMAGE001
中具有uf属性或textuf属性的节点进行抽取,存储为XML格式文档,抽取算法结束。
2.如权利要求1所述的面向深层网页面数据自动抽取方法,其特征是:步骤S2所述进行清噪处理清除JavaScript,CSS和注释这三种标签;清除空格&nbsp标签;清除对于数据抽取无作用的部分元素属性,只留下元素img、a和meta的属性。
CN201210086024.4A 2012-03-28 2012-03-28 面向深层网页面数据自动抽取方法 Expired - Fee Related CN102663041B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210086024.4A CN102663041B (zh) 2012-03-28 2012-03-28 面向深层网页面数据自动抽取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210086024.4A CN102663041B (zh) 2012-03-28 2012-03-28 面向深层网页面数据自动抽取方法

Publications (2)

Publication Number Publication Date
CN102663041A CN102663041A (zh) 2012-09-12
CN102663041B true CN102663041B (zh) 2014-01-01

Family

ID=46772532

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210086024.4A Expired - Fee Related CN102663041B (zh) 2012-03-28 2012-03-28 面向深层网页面数据自动抽取方法

Country Status (1)

Country Link
CN (1) CN102663041B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103810177A (zh) * 2012-11-07 2014-05-21 江苏仕德伟网络科技股份有限公司 一种准确获取网站访问者在网页上真实停留时间的方法
CN103838747B (zh) * 2012-11-22 2017-07-07 富士通株式会社 网络服务构建方法和设备以及网页数据抽取方法和设备
CN106855859B (zh) * 2015-12-08 2020-11-10 北京搜狗科技发展有限公司 一种网页正文提取方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101872350A (zh) * 2009-04-24 2010-10-27 富士通株式会社 网页正文抽取方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101593184B (zh) * 2008-05-29 2013-05-15 国际商业机器公司 自适应地定位动态网页元素的系统和方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101872350A (zh) * 2009-04-24 2010-10-27 富士通株式会社 网页正文抽取方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于Deep Web的网络信息抽取技术研究;王培正;《中国优秀硕士学位论文全文数据库》;20110630;第I139-84页 *
王培正.基于Deep Web的网络信息抽取技术研究.《中国优秀硕士学位论文全文数据库》.2011,第I139-84页.

Also Published As

Publication number Publication date
CN102663041A (zh) 2012-09-12

Similar Documents

Publication Publication Date Title
CN101464905B (zh) 一种网页信息抽取的系统及方法
CN105022803B (zh) 一种提取网页正文内容的方法及系统
CN102663023B (zh) 一种提取网页内容的实现方法
CN102262632B (zh) 进行文本处理的方法和系统
US8762912B2 (en) Tiered schematic-driven layout synchronization in electronic design automation
CN104598577B (zh) 一种网页正文的提取方法
CN107885499A (zh) 一种接口文档生成方法及终端设备
CN104834717A (zh) 一种基于网页聚类的Web信息自动抽取方法
CN101872350A (zh) 网页正文抽取方法和装置
CN106446072A (zh) 网页内容的处理方法和装置
CN103491116A (zh) 正文相关的结构化数据的处理方法及装置
CN102663041B (zh) 面向深层网页面数据自动抽取方法
CN105279086A (zh) 一种基于流程图的自动检测电子商务网站逻辑漏洞的方法
CN108733813A (zh) 面向bbs论坛网页内容的信息提取方法、系统及介质
CN106294885A (zh) 一种面向异构网页的数据收集与标注方法
CN106528068A (zh) 一种网页内容重构方法和系统
CN102375847A (zh) 形成用于生成文档模板的合并树的方法以及装置
CN110347390A (zh) 一种快速生成web页面的方法、存储介质、设备及系统
CN102004805B (zh) 基于最大相似性匹配的网页去噪系统及其去噪方法
CN106294139B (zh) 一种软件代码中重复片段的检测提取方法
CN106708479B (zh) 一种页面渲染方法及装置
CN1604073A (zh) 一种对报纸版面进行标题与正文逻辑关联的方法
Wang et al. A search of Verilog code plagiarism detection method
CN107463696A (zh) 一种网页页面最大块提取的方法
CN108255895A (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
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140101

Termination date: 20150328

EXPY Termination of patent right or utility model