为什么我必须使用link.attribs.href而不是标准的.attr('href')方法?
...
res.on('end', () => {
const $ = cheerio.load(content);
const link = $('.more-link').get(0);
// const url = link.attr('href'); <--- link.attr is not a function
const url = link.attribs.href; <--- works
console.log(url);
});
答案 0 :(得分:1)
根据cheerio documentation,get(i)
从您正在使用的cheerio实例中检索“ DOM”元素。 cheerio实例对象具有.attr()
方法,但是DOM元素只是存储对象数据。
您可以使用.first()
代替.get(0)
。