网页表格抓取(发明专利技术提供一种网页表格数据抽取的方法及实现步骤)

优采云 发布时间: 2022-03-22 22:06

  网页表格抓取(发明专利技术提供一种网页表格数据抽取的方法及实现步骤)

  本发明专利技术提供了一种从网页中提取数据的方法,包括:步骤10、读取网页源代码,根据字符码解析成W3C Document对象,得到任意两个网页表单关键词;Step 20、深度优先遍历Document对象中的所有节点,得到两个关键词所属的两个节点;Step 30、 获取具有唯一属性的两个节点的共同父节点,并使用唯一属性获取网页表定位条件;Step 4 0、使用网页表数据定位条件,过滤网页源代码,提取与网页显示效果相同的网页表。

  下载所有详细的技术数据

  【技术实现步骤总结】

  该专利技术涉及网页

  ,尤其是涉及。

  技术介绍

  随着网络技术的不断发展,网页的显示效果和所收录的信息量越来越复杂,网页的结构和内容也在实时更新。但是为了从网页中获取指定的表格数据,需要在大量冗长的网页源码中手动查找表格的位置、标签和属性,从而定位到表格对应的源码并获取表格数据。这不仅需要大量的工作,而且浪费时间和精力。同时,在复杂的网页代码中搜索容易出错,不能满足实时数据的要求。W3C是英文World Wide Web Consortium的缩写,中文意思是W3C委员会或万维网联盟。W3C 组织是制定网络标准的非营利组织。HTML、XHTML、CSS 和 XML 等标准由 W3C 定制。现有技术提供了一种基于DOM树的信息抽取过滤方法,来自《中国学术期刊网络出版总库》,发表日期为2009/9/15,来源中国过滤网,描述了A页面预处理方法,将 HTML 解析为 DOM,利用 DOM 树的特性,不仅可以从大的逻辑单元中提取信息,还可以对更小的单元进行操作,完成信息提取中的页面预处理。这大大提高了信息提取的效率和准确性。该方法还提供了三个过滤器,每个过滤器都可以由用户设置,以完成不同程度的过滤,并以适当的顺序选择和堆叠各个过滤器,形成最佳的预处理组合。该方法的目标不是提取细粒度的数据,而是过滤掉网页中杂乱冗余的信息,比如广告、不相关的链接等,即完成对网页中页面的预处理。网页。

  技术实现思路

  该专利技术要解决的技术问题是,提供从实时变化的网页中准确、快速地提取出与原网页显示效果相同的表格,并获取指定的行/列数据。专利技术就是这样实现的,其特征在于包括以下步骤: 步骤1 0、读取网页源代码,将网页源代码按照字符编码解析为W3C Document对象,获取任意两个网页表单关键词;步骤20、深度优先遍历Document对象中的所有节点,得到第一个关键词所属的第一个节点,以及第二个关键词所属的第二个节点;步骤 3 0、 获取具有唯一属性的第一节点和第二节点的共同父节点,并使用唯一属性获取网页表单定位条件;Step 4 0、 使用网页表单定位条件遍历Document对象,找到满足定位条件的节点,从而定位表格位置,记录每个单元格数据的正确位置以及字体大小和字体颜色属性,提取与原网页显示效果相同的表格,根据表格位置定位表格。表格行/列值过滤,获取要提取的网页表格的指定行/列数据。进一步地,在步骤20中,对Document对象中的所有节点进行深度优先遍历,得到第一个关键词所属的第一个节点,第二个关键词所属的第二个节点,具体步骤21、获取Document对象的根节点root,记为节点;Step 22、 遍历节点的每个子节点childNode,判断childNode是否为叶子节点;如果是,则获取childNode的值,并转至步骤23,否则遍历查找childNode的每个子节点,如果遍历完成后仍没有关键词节点,则返回到childNode的父节点该节点,继续搜索该节点剩余的子节点;Step 23、判断childNode是否收录关键词,如果有则返回childNode,记为关键词所属的节点;否则,继续查找判断childNode的兄弟节点。具体步骤21、获取Document对象的根节点root,记为node;Step 22、 遍历节点的每个子节点childNode,判断childNode是否为叶子节点;如果是,则获取childNode的值,并转至步骤23,否则遍历查找childNode的每个子节点,如果遍历完成后仍没有关键词节点,则返回到childNode的父节点该节点,继续搜索该节点剩余的子节点;Step 23、判断childNode是否收录关键词,如果有则返回childNode,记为关键词所属的节点;否则,继续查找判断childNode的兄弟节点。具体步骤21、获取Document对象的根节点root,记为node;Step 22、 遍历节点的每个子节点childNode,判断childNode是否为叶子节点;如果是,则获取childNode的值,并转至步骤23,否则遍历查找childNode的每个子节点,如果遍历完成后仍没有关键词节点,则返回到childNode的父节点该节点,继续搜索该节点剩余的子节点;Step 23、判断childNode是否收录关键词,如果有则返回childNode,记为关键词所属的节点;否则,继续查找判断childNode的兄弟节点。遍历节点的每个子节点childNode,判断childNode是否为叶子节点;如果是,则获取childNode的值,并转至步骤23,否则遍历查找childNode的每个子节点,如果遍历完成后仍没有关键词节点,则返回到childNode的父节点该节点,继续搜索该节点剩余的子节点;Step 23、判断childNode是否收录关键词,如果有则返回childNode,记为关键词所属的节点;否则,继续查找判断childNode的兄弟节点。遍历节点的每个子节点childNode,判断childNode是否为叶子节点;如果是,则获取childNode的值,并转至步骤23,否则遍历查找childNode的每个子节点,如果遍历完成后仍没有关键词节点,则返回到childNode的父节点该节点,继续搜索该节点剩余的子节点;Step 23、判断childNode是否收录关键词,如果有则返回childNode,记为关键词所属的节点;否则,继续查找判断childNode的兄弟节点。遍历完成后的节点,则返回该节点的父节点,继续寻找该节点剩余的子节点;Step 23、判断childNode是否收录关键词,如果有则返回childNode,记为关键词所属的节点;否则,继续查找判断childNode的兄弟节点。遍历完成后的节点,则返回该节点的父节点,继续寻找该节点剩余的子节点;Step 23、判断childNode是否收录关键词,如果有则返回childNode,记为关键词所属的节点;否则,继续查找判断childNode的兄弟节点。

  进一步地,步骤30获取具有唯一属性的第一节点和第二节点的共同父节点,并利用唯一属性获取网页表的定位条件,具体步骤31、分别获取第一个节点node1、第二个节点node2的父节点parentNode1、parentNode2,判断是否相同;如果相同则返回parentNode,如果不同则继续代入parentNode1、parentNode2作为参数,递归搜索,直到距离nodel、node2最近的公共父节点parentNode;Step 32、获取parentNode的唯一属性,并利用唯一属性获取网页表定位条件,具体获取父节点的所有标签属性,并判断是否存在唯一属性,如果有唯一属性,则使用该属性获取父节点的定位条件网页表,即定位条件为“tablel^ath=parentNode标签名”的格式,进入步骤40;如果没有唯一属性,则获取parentNode的父节点targetNode,并搜索其唯一属性,递归搜索直到找到具有唯一属性的父节点targetNode或到达Document的根节点;同时,记录搜索过程的路径标签和parentNode在其父节点targetNode中的相对位置,进行拼接/修改,得到网页表定位条件,即定位条件格式为“tabIePath = targetNode标签名称” /path label 1/path label 2/..., or " tabIePath = Document root node/path label 1/path label 2[relative bit 2]/。. ο 该专利技术具有以下优点。该专利技术只需要网页的源代码、要提取的表格中任意两个关键词以及需要的表格行/列值,就可以从网页中提取出真实变化的原创代码时间。网页展示效果相同的表格,通过过滤获取表格的指定行/列数据,

  该专利技术不仅简化了网页的抽取方法,提高了数据抽取的灵活性,满足了数据实时性的要求,而且提高了表格数据抽取的准确性。附图说明图。图1为本发明专利技术方法的流程*敏*感*词*。1、专利技术包括以下步骤: Step 1 0、读取网页源代码,将网页源代码按照字符编码解析成W3C Document对象,获取网页中的信息桌子。任意两个 关键词; Step 2 0、深度优先遍历Document对象中的所有节点,得到第一个关键词所属的第一个节点,以及第二个关键词所属的第一个节点。两个节点;其中,具体步骤21、获取Document对象的根节点root,记为node;Step 22、遍历该节点的每个子节点childNode,判断childNode是否为叶子节点;如果是,则获取childNode的值,执行步骤23,否则遍历childNode的每个子节点,如果遍历完成后仍然没有关键词节点,则返回node的父节点,并继续搜索其余节点的子节点;step 2 3、判断childNode是否收录关键词,如果是则返回childNode,记为关键词所属的节点;否则,继续搜索判断childNode的兄弟节点。Step 30、 获取具有唯一属性的第一个节点和第二个节点的共同父节点,并使用唯一属性获取网页表定位条件;具体为步骤31、获取第一个节点node1、第二个节点node2的父节点parentNode1、parentNode2,判断是否相同;如果相同则返回parentNode,如果不同则继续代入parentNode1、parentNode2作为参数,递归搜索直到得到距离nodel,即node2最近的公共父节点parentNode;第三步< 继续代入parentNode1、parentNode2作为参数,递归搜索,直到得到距离nodel,即node2最近的公共父节点parentNode;第三步< 继续代入parentNode1、parentNode2作为参数,递归搜索,直到得到距离nodel,即node2最近的公共父节点parentNode;第三步<

  【技术保护点】

  1.一种从网页中提取数据的方法,其特征在于包括以下步骤: 步骤一0、读取网页源代码,将网页源代码解析成Document对象W3C根据字符编码,获取网页形式的数据。任意两个 关键词; Step 2 0、深度优先遍历Document对象中的所有节点,得到第一个关键词所属的第一个节点,以及第二个关键词所属的第一个节点。两个节点;步骤30、获取具有唯一属性的第一节点和第二节点的共同父节点,并使用唯一属性获取网页表定位条件;Step 40、使用网页表格定位条件,遍历Document对象,

  【技术特点总结】

  【专利技术性质】

  技术研发人员:杨帆、黄健雄、林山、

  申请人(专利权)持有人:,

  类型:发明

  国家、省、市:35

  下载所有详细的技术数据 我是该专利的所有者

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线