如何使用cheerio得到脚本内容

问题描述 投票:14回答:2

我现在用的是cheerio lib和我试图让这个脚本场 - script type="application/json"但由于某些原因无法找到这些脚本标记。怎么了?如何解决?

var $ = require('cheerio')
var parsedHTML = $.load(html)
console.log( parsedHTML('script').get().length ); // this is 0
javascript node.js npm cheerio
2个回答
19
投票

如果您使用

var parsedHTML = $.load('<html><head><script type="application/json" src="http://myscript.org/somescript.ks"></script></head></html>')
console.log( parsedHTML('script').get()[0].attribs['src'] ); 

您可以获取一个URL,然后使用请求来获取内容

如果你想在一个内嵌的脚本,你可以这样做:

console.log( parsedHTML('script').get()[0].children[0].data ); 

2
投票

对于那些仍然徘徊到该主题,以下解决方案为我工作:

const $ = cheerio.load(html, {xmlMode: false});
$('script').length; // no longer 0

(见htmlparser2's options

© www.soinside.com 2019 - 2024. All rights reserved.