【问题标题】:Extracting a field from HTML in Node-Red在 Node-Red 中从 HTML 中提取字段
【发布时间】:2021-09-23 14:33:38
【问题描述】:

我正在尝试在 Node-Red 环境中使用 REST Api 从网站 (suncalc) 中提取两个角度(方位角和高度)。我得到了属性和 ID,但没有得到值。问题是由于 REST api 的 html 输出而出现的。这是我的流程的样子:

[{"id":"c275914f.48426","type":"tab","label":"Flow 5","disabled":false,"info":""},{"id":"b5b2b310.4dfc5","type":"inject","z":"c275914f.48426","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":"","topic":"","payload":"","payloadType":"date","x":180,"y":180,"wires":[["d7e0478a.997b8"]]},{"id":"d7e0478a.997b8","type":"http request","z":"c275914f.48426","name":"","method":"GET","ret":"txt","paytoqs":"ignore","url":"https://suncalc.org/#/48.85826,2.29451,17/2021.09.23/16:40/324.0/2","tls":"","persist":false,"proxy":"","authType":"","x":330,"y":180,"wires":[["a8ff0654.6ac8d"]]},{"id":"a8ff0654.6ac8d","type":"html","z":"c275914f.48426","name":"","property":"","outproperty":"payload","tag":".Bold","ret":"attr","as":"single","x":470,"y":180,"wires":[["984182c2.bb29e8"]]},{"id":"984182c2.bb29e8","type":"debug","z":"c275914f.48426","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":590,"y":180,"wires":[]}]`

任何指导将不胜感激。

【问题讨论】:

    标签: node-red


    【解决方案1】:

    一旦页面加载完毕,suncalc 页面上的值就会由 Javascript 动态更新,因此 HTML 中的所有字段都有占位符,一旦页面完全加载并且所有 Javascript 都已运行,这些占位符就会被替换。这可能是故意这样做的,目的是防止人们做你想做的事。

    您不能从静态 html 中抓取值。

    不需要抓取页面,因为 Node-RED 流库中有一个 number of nodes 将提供相同的数据,如果它们不能满足您的所有需求,他们应该提供可以构建的示例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多