Html 如何在node.js中查找大型对象中的特定值?

Html 如何在node.js中查找大型对象中的特定值?,html,parsing,node.js,Html,Parsing,Node.js,实际上,我已经使用解析过一个网站,我想在解析过的对象中找到一个特定的值,例如,字符串$199,并通过定期解析来跟踪该元素,以查看值仍然是$199或已更改 在用我的眼睛进行了一些痛苦而愚蠢的搜索之后,我发现那根绳子就在这样的地方: price = handler.dom[3].children[3].children[3].children[5].children[1]. children[3].children[3].children[5].children[0].childre

实际上,我已经使用解析过一个网站,我想在解析过的对象中找到一个特定的值,例如,字符串$199,并通过定期解析来跟踪该元素,以查看值仍然是$199或已更改

在用我的眼睛进行了一些痛苦而愚蠢的搜索之后,我发现那根绳子就在这样的地方:

price = handler.dom[3].children[3].children[3].children[5].children[1].
        children[3].children[3].children[5].children[0].children[0].raw;

所以我想知道是否有一些方法可以减轻痛苦?谢谢

基于树的递归搜索可能最容易获得您感兴趣的节点

我没有使用过HTMLPasser,文档似乎有点单薄,因此这只是一个让您入门的示例,没有经过测试:

function getElement(el,val) {
    if (el.children && el.children.length > 0) {
        for (var i = 0, l = el.children.length; i<l; i++) {
            var r = getElement(el.children[i],val);
            if (r) return r;
        }
    } else {
        if (el.raw == val) {
            return el;
        }
    }
    return null;
}

调用getElementhandler.dom[3],“$199”,它将递归地遍历所有子元素,直到找到一个没有子元素的元素,然后将其原始值与“$199”进行比较。注意:这是一个直接的比较,您可能希望将其替换为regexp或类似的?

您的问题不清楚:您是否试图确认文档中存在值“$199”,在这种情况下,原始HTML上的regexp可能是最简单的,还是试图查找它所定义的DOM节点或其周围的上下文,或者…?已更新。希望它足够清晰,谢谢