网站内容抓取(网站内容抓取和网页数据抽取几乎是每一个网站的区别)

优采云 发布时间: 2022-04-01 14:25

  网站内容抓取(网站内容抓取和网页数据抽取几乎是每一个网站的区别)

  网站内容捕获和网页数据提取是几乎每个网站建设者都必须使用的技术。网站 的网页是 HTML 或 XHTML 文档。数据提取/信息提取方法分为两类:

  1.通过正则表达式提取内容。(X)HTML 文件是一个文本文件。您可以直接使用正则表达式提取指定位置的内容。“指定位置”不一定是绝对定位。例如,可以参考 HTML 标签定位。,更准确

  2. 使用 DOM、XML、XPath 和 XSLT 提取内容。(X)HTML文件先转换成DOM数据结构,然后用XPath遍历这个结构提取内容或者用XSLT分片提取数据。

  HTML 文件本身是一个结构化文件。文档中的文本内容被许多标签(标签、HTML 元素)包围。这些标签构成了 HTML 文档的结构。在浏览器上显示时,首先显示结构化文本。文件被转换成DOM数据结构,在这个过程中必须进行一些必要的纠错。例如,某些 HTML 文件具有未关闭的标签,只有开始标签,没有结束标签。在生成 DOM 结构之前需要更正这些错误。因此,如果简单地使用正则表达式的方法,这些结构信息并没有得到很好的利用。相反,第二种数据提取方法充分利用了这种结构信息,可以采用模块化编程方法,极大地提高了编程效率,减少了程序的bug,例如在编写模块时使用XSLT的xsl:template,数据格式转换和提取。但是,XSL 语言也相对复杂。本文仅介绍一种 XSLT 使用技术:提取 HTML 页面中的片段内容,但过滤掉一些不必要的块。形象地说,就是把一页剪掉一大块,但是挖出一些小块。

  可以使用 xsl:copy-of 完整地复制 HTML 片段,但需要一些技巧来挖掘片段的某些内容。可以使用 xsl:copy,xsl:copy 只提取当前节点,xsl:copy-of 提取当前节点及其子节点并递归调用。使用xsl:copy,可以自定义类似xsl:copy-of的递归调用过程,可以任意控制递归调用过程中过滤哪些节点。

  即将推出的网页抓取/数据提取/信息提取软件工具包MetaSeeker的最新版本将提取规则定义方式扩展为3种:

  1、完全由软件自动生成;

  2、用户可以使用XPath表达式来指定特定信息属性的定位规则;

  3. 用户可以定义自己的 XSLT 提取片段。

  要实现上述需求,需要使用第三种方法定义一个xsl:template,例如下面这个模板

  用于从freelancer项目(freelancer招标和外包项目)中提取任务描述信息网站,只提取节点(node),例如HTML元素和文本,不提取节点属性(attribute),例如, @class等。需要过滤掉的节点用空模板实现,后四个是它们的功能。

  将定义好的模板片段放入网页抓取/数据提取/信息提取软件工具包MetaSeeker中的MetaStudio工具的bucket编辑工作台的输入框中,然后系统可以自动将其嵌入到自动生成的信息提取指令文件中。中间。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线