跳到主要内容

提取HTML内容

从HTML代码中提取内容

当前模块定义

sys:htmlExtract网络服务Action
标准模块
输入 9 · 输出 3 · 枚举 4

输入参数

  • 操作类型operationEnum必填
    填写 固定输入默认 extractText
    提取文本内容默认extractText
    提取表格内容extractTable
  • 源HTMLsourceText必填

    原始HTML内容,或网址,或根节点对象

    填写 输入或变量
  • 网页编码类型encodingText可选

    通过网址加载内容时,使用指定的编码。留空时默认为UTF8。

    填写 输入或变量
    自动检测 (加载两次auto
    GB2312编码gb2312
    UTF8编码utf-8
  • 节点XPathxpathText必填

    内容的XPath,详细说明请参考文档

    填写 输入或变量
  • 提取方式selectTargetEnum可选

    提取单个节点还是符合条件的所有节点。

    填写 固定输入默认 single
    第一个符合条件的节点默认single
    所有符合条件的节点all
  • 提取内容类型returnTypeEnum可选

    要提取的节点信息。

    填写 固定输入默认 InnerHtml
    5 个选项innerHtml 内部HTML、innerText 内部文本、outerHTML 节点全部HTML
    innerHtml 内部HTML默认InnerHtml
    innerText 内部文本InnerText
    outerHTML 节点全部HTMLOuterHtml
    Attribute 节点的某个属性Attribute
    节点对象Node
  • 属性名称attributeText可选

    仅在提取节点属性时有效。指定属性的名称。

    填写 输入或变量
  • 写入工作表对象writeToSheetObject可选

    将提取到的表格内容写入工作表对象中。

    填写 UseVarOnly
  • 失败后停止动作stopIfFailBoolean可选

    失败后是否停止动作

    填写 固定输入默认 true

输出参数

  • 步骤执行是否成功isSuccessBoolean

    步骤执行是否成功

  • 提取值valueAny

    提取的内容。请确保结果类型和变量类型匹配。

  • 根节点rootNodeAny

    整个HTML源内容对应的HtmlNode节点对象,可用于后续处理使用。

概述

从HTML代码中提取内容,在一定程度上也可以支持XML文档内容的提取。

本模块在内部使用HtmlAgilityPack组件,深入使用可以参考其文档

提取HTML内容

从HTML代码中提取内容
操作类型
源HTML
 
原始HTML内容,或网址,或根节点对象
网页编码类型
通过网址加载内容时,使用指定的编码。留空时默认为UTF8。
节点XPath
 
内容的XPath,详细说明请参考文档
提取方式
提取单个节点还是符合条件的所有节点。
提取内容类型
要提取的节点信息。
属性名称
 
仅在提取节点属性时有效。指定属性的名称。
写入工作表对象
 
将提取到的表格内容写入工作表对象中。
步骤执行是否成功
-- 选择变量 --
步骤执行是否成功
提取值
-- 选择变量 --
提取的内容。请确保结果类型和变量类型匹配。
根节点
-- 选择变量 --
整个HTML源内容对应的HtmlNode节点对象,可用于后续处理使用。
步骤注释
 

注意

此模块对完全相同的链接在短时间内多次提取会使用缓存数据!因此对于更新频繁的html链接请使用“http请求+提取”两步骤实现!避免目标数据不能及时更新的bug。

参数

【源HTML】要从中提取内容的HTML代码或网址(http、https)。如果是网址,模块将自动下载HTML代码。

【网页编码类型】在指定网址获取HTML内容时,设定网页的编码类型,通常用于解决某些网页读取后汉字乱码的问题。默认(留空时)为UTF8编码。指定值为“auto”时,将会请求两次,先获取编码后再重新请求并根据编码解析内容。

【节点XPath】要提取内容的XPath。例如:

  • 网页的标题:html/head/title

如果无法找到节点,可以尝试使用小写字母的节点名;

【提取方式】提取单个值还是多个值。

  • 第一个符合条件的节点:只返回第一个符合xpath条件的节点的内容。
  • 所有符合条件的节点:返回所有符合xpath条件的节点的内容。此时,提取的值类型将是一个列表类型。

【提取内容】提取的节点具体内容,根据提取方式的不同,返回的结果也不太一样。当提取方式为“第一个符合条件的节点”时,返回该节点的内容;当提取方式是“所有符合条件的节点”时,返回每个符合条件节点的指定内容的列表

提取内容说明备注
InnerHtml此节点内部的HTML代码
InnerText此节点内部的纯文本内容
OuterHtml节点本身的HTML代码
节点对象返回节点对应的HtmlNode对象
节点的某个属性返回节点的某个属性的值。

【属性名称】当“提取内容”为“节点的某个属性”时,指定要返回节点的属性名。

【失败后停止动作】失败时是否停止动作。

输出

【值】返回提取的内容。

示例动作:

历史

  • 1.4.17 开始提供此模块。
  • 20230704 增加支持XML,以及使用小写xpath的说明。

参考

更新于