【问题标题】:Node.js crawler: find a href by text via cheerioNode.js 爬虫:通过cheerio 通过文本查找href
【发布时间】:2018-04-14 12:37:46
【问题描述】:

我的节点应用程序通过请求库从某个网站获取 HTML 代码。通过使用 jQuery (cheerio),我想找到一个 href 来联系部分。但后来我只得到未定义的值。

request(options.websiteUrl, (err, response, body) =>{
            if(!err && response.statusCode == 200){

                    let $ = cheerio.load(body); 
                    let contact =  $('a:contains("contact")').attr('href');
                    console.log(contact); //undefined

            }
    });

我已将相同的 jQuery 命令直接粘贴到该网站的 JS 控制台中,它工作正常,给了我正确的 href。常规 jQuery 和 Cheerio 之间有什么区别,导致我无法在我的节点应用程序中执行该代码,我该如何解决?

【问题讨论】:

    标签: javascript jquery node.js


    【解决方案1】:

    cheerio 似乎没有等待响应正文 javascript 完全加载。您可以将cheerio 代码块包装在setTimeout 中,让cheerio 有时间让身体加载。

    您可以在here 上看到另一个类似的堆栈溢出帖子。

    【讨论】:

      猜你喜欢
      • 2013-12-03
      • 1970-01-01
      • 2018-10-20
      • 1970-01-01
      • 1970-01-01
      • 2017-08-13
      • 2015-07-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多