首页 > 解决方案 > Huginn:使用网站代理 css 选择器从 html 标记中提取文本

问题描述

我试图了解如何在 Huginn 中完成网络抓取,但我找不到有关可用选项的适当文档。

我想提取黄金盎司的价格。从这个网站例如: https ://www.xe.com/currencyconverter/convert/?Amount=1&From=XAU&To=USD

为此,我使用带有以下代码的 Huginn 网站代理:

{
  "expected_update_period_in_days": "2",
  "url": "https://www.xe.com/currencyconverter/convert/?Amount=1&From=XAU&To=USD",
  "type": "html",
  "mode": "on_change",
  "extract": {
    "price": {
      "css": ".converterresult-toAmount",
      "value": "."
    }
  }
}

我使用 SelectorGadget 获得了 css 选择器,并且尝试了多个值,例如:./node()、string(.)、normalize-space(.)、. , //text() 等,但我找不到提取包含该值的 span html 标记内容的方法。这里是该部分网络的代码:

<span class="converterresult-toAmount">1,730.35</span>

我要提取的是:1,730.35

标签: htmlruby

解决方案


我让它在另一个网站上工作。

我使用了“xpath”。我使用了不同的网站,因为它不适用于您发布的网站。但我希望这仍然可以帮助某人。

    {
  "expected_update_period_in_days": "2",
  "url": "https://walletinvestor.com/converter/xau/usd/1",
  "type": "html",
  "mode": "on_change",
  "extract": {
    "gold_in_dollar_price": {
      "xpath": "/html/body/div[4]/div/div[3]/div[1]/h2/strong/span",
      "value": "string(.)"
    }
  }
}

以下是获取网站上任何元素/对象的 XPath 的方法:(我为此使用了基于 chrome 的 Yandex 浏览器)

  1. 在浏览器中打开开发者工具(或右键单击并选择“检查元素代码”)
  2. 使用检查器在您的元素/对象上选择/单击您现在应该看到如下内容:

<span class="converterresult-toAmount">1,730.35</span>

  1. 右键单击它并单击:“复制”>“复制 XPath”

我使用 Huginn 已经 2 天了,所以如果有的话,任何人都可以随时告诉我任何更快的方法:)


推荐阅读