html - 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
解决方案
我让它在另一个网站上工作。
我使用了“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 浏览器)
- 在浏览器中打开开发者工具(或右键单击并选择“检查元素代码”)
- 使用检查器在您的元素/对象上选择/单击您现在应该看到如下内容:
<span class="converterresult-toAmount">1,730.35</span>
- 右键单击它并单击:“复制”>“复制 XPath”
我使用 Huginn 已经 2 天了,所以如果有的话,任何人都可以随时告诉我任何更快的方法:)