【问题标题】:Script to find specific text inside <script> tag in HTML document用于在 HTML 文档中的 <script> 标记内查找特定文本的脚本
【发布时间】:2016-09-11 15:09:39
【问题描述】:

我正在尝试构建一个用 JavaScript 制作的爬虫,但也使用 node.js,以及“request”、“cheerio”和“url-parse”节点模块(使用 npm 安装)。

我只想找到包含脚本标记DM_redirect("http://mobile. 的一对脚本中的第二个作为下一个节点。

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

【问题讨论】:

    标签: jquery node.js cheerio


    【解决方案1】:

    这段代码应该为你做:

    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 语句之前。

    【讨论】:

    • @user3205055 这回答了您的问题吗?如果是这样,请单击答案旁边的复选标记以接受它。复选标记将变为绿色。也欢迎大家点赞!
    猜你喜欢
    • 1970-01-01
    • 2017-01-24
    • 1970-01-01
    • 2016-05-07
    • 2011-03-26
    • 1970-01-01
    • 2011-11-20
    • 1970-01-01
    • 2021-02-14
    相关资源
    最近更新 更多