使用正则表达式进行 HTML 解析的替代方案

Alternative to HTML Parsing with Regex

本文关键字:方案 HTML 正则表达式      更新时间:2023-09-26

我正在node中使用正则表达式解析HTML.js以返回一个字符串。 但是,在这篇文章中,我被告知这不是一个好主意:从node中的HTTP请求中提取特定字符串.js

什么是更稳定的替代品?

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

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" }.