3

我正在使用 node.js 中的正则表达式解析 HTML 以返回一个字符串。但是,我在这篇文章中被告知这不是一个好主意:Pull a specific string from an HTTP request in node.js

有哪些更稳定的替代方案?

我是编程新手,所以教程链接会很有帮助。我无法理解一些文档解释。

4

1 回答 1

3

node-htmlparser处理解析 HTML 的所有繁重工作。最重要的是,node-soupselect允许您使用 CSS 样式的选择器来查找您正在寻找的特定元素。

但是,我查看了您的另一个问题,您真正应该问的问题不是“我如何从 HTML 页面中抓取这些数据”,而是“有没有更好的方法来检索我正在寻找的数据?” USGS 拥有以机器可读形式提供数据的 API

这是您感兴趣的位置的 JSON 对象。 要获取水库表面高程的“最新瞬时值”,您将下载该文件,执行var d = JSON.parse,然后:

for (var i = 0; i < d.value.timeSeries.length; i++) {
    if (d.value.timeSeries[i].variable.variableName == 'Elevation of reservoir water surface above datum, ft') {
        var result = d.value.timeSeries[i].values[0].value[d.value.timeSeries[i].values[0].value.length-1];
    }
}

result现在的样子{ dateTime: "2012-04-07T17:15:00.000-05:00", value: "1065.91" }

于 2012-04-07T23:09:18.193 回答