用于在HTML文档中的<script>标记内查找特定文本的脚本

时间:2016-05-15 20:52:53

标签: jquery node.js cheerio

我正在尝试构建一个用JavaScript构建的爬虫,但也使用node.js,加上'request','cheerio'和'url-parse'节点模块(使用 npm安装)。

&#xA;&#xA;

我想找到包含脚本标记 DM_redirect(“http:// mobile。 as)的一对脚本中的第二个下一个节点。

&#xA;&#xA;

看起来cheerio使用jQuery的精简版本,我尝试找到正确的命令以使用文本节点定位第二个脚本失败。对此的任何意见都将不胜感激。

&#xA;

1 个答案:

答案 0 :(得分:0)

此代码应该为您完成:

var match_count = 0;

$("script").text().each(function(index, value) {
    if (value.indexOf("DM_redirect(\"http://mobile.") {
        if (++match_count == 2) {
            // You've found the second instance.  Go ahead and process it...
        }
    }
});

请注意,这将在所有脚本标记中找到第二个匹配项。如果您只希望它在给定的脚本标记中找到第二个,只需在var match_count = 0;方法内移动$.each语句,就在第一个if语句之前。