Javascript cheerio js无法选择锚定标记

Javascript cheerio js无法选择锚定标记,javascript,web-scraping,cheerio,Javascript,Web Scraping,Cheerio,我想选择此HTML源中的所有下载链接: 这是我的代码: export const getSingleMusic = async (url) => { const html = await getHtml(url) const $ = cheerio.load(html) const downloadSection = $('#mt-modal-download .col-4') downloadSection.each((i, elem) =>

我想选择此HTML源中的所有下载链接:

这是我的代码:

export const getSingleMusic = async (url) => {
    const html = await getHtml(url)
    const $ = cheerio.load(html)

    const downloadSection =  $('#mt-modal-download .col-4')

    downloadSection.each((i, elem) => {
        console.log($(elem).find('a').html())
    })
}
但结果是:

如何选择它们?

返回innerHTML。Cheerio曾使用.html返回outerHTML,但正如您从本期中看到的,他们已对其进行了更改,因此$elem.html现在返回innerHTML,如果我们希望获得outerHTML,则可以调用$.html$elem

您必须像这样使用$.html:

downloadSection.eachi,elem=>{ console.log$.html$elem.find'a'; }; 或者直接获取$elem.html以获取包含锚链接的innerHTML:

downloadSection.eachi,elem=>{ log$elem.html; };
$.html$elem.find'a'.attr'href'这不起作用您不在属性上使用html。该属性有一个文本值,您可以通过如下控制台获得它:log$elem.find'a.attr'href'@ShaSha你可以看到它在Stackblitz工作: