用正则表达式解析HTML的替代方法

时间:2012-04-07 22:19:30

标签: javascript regex parsing node.js

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

哪些更稳定的替代品?

我是编程新手,所以链接到教程会非常有帮助。我无法理解一些文档说明。

1 个答案:

答案 0 :(得分:3)

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

然而,我看了你的另一个问题,你应该问的问题不是“我如何从HTML页面中删除这些数据”,而是“有没有更好的方法来检索我正在寻找的数据?“ USGS有APIs that provide their data in machine-readable form

Here's the JSON object for the location you're intersted in.要获得水库表面高程的“最新瞬时值”,请下载该文件,执行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" }