如何使用cheerio获取脚本内容

时间:2014-07-04 02:17:03

标签: javascript node.js npm cheerio

我正在使用cheerio lib并且正在尝试获取此脚本字段 - script type="application/json" 但由于某种原因,它找不到这些脚本标签。怎么了?我该如何解决?

var $ = require('cheerio')
var parsedHTML = $.load(html)
console.log( parsedHTML('script').get().length ); // this is 0

2 个答案:

答案 0 :(得分:16)

如果您使用

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'] ); 

您可以获取网址,然后使用该请求获取内容

如果要获取内联脚本,可以执行以下操作:

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

答案 1 :(得分:2)

对于那些仍然徘徊在这个主题中的人来说,以下解决方案对我有用:

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

(见htmlparser2's options