如何使用 cheerio 从 id 的子标签中获取 img src URL



我想获取specific的id的子图像src数据。有了cheer.io,我可以用$("#descTemplate").html();代码从中获得HTML数据,但我想获得它的HTML代码儿童的所有图像数据。

所以我尝试了$("#descTemplate").find('img').attr('src');代码,但它只返回未定义的任一$("#descTemplate").html().find('img').attr('src');代码都不返回任何内容。

let searchUrl = 'URL ADDRESS';
await got(searchUrl, {
timeout: {
request: 30000,
},
}).then(async(response) => {
const $ = cheerio.load(response.body); // HTML data
// itemDetailImage = $("#descTemplate").html(); // Get HTML part data (Successfully get HTML file)
itemDetailImage = $("#descTemplate").find('img').attr('src');   // return undefined
console.log(itemDetailImage);
})

[console.log(itemDetailImage(]

<div style="text-align:center;">
<img src="//127.0.0.1/upload/1647265117250_378688.jpg" data-ke-src="//127.0.0.1/upload/1647265117250_378688.jpg" alt="">
<img src="//127.0.0.1/upload/1647265118130_300066.jpg" data-ke-src="//127.0.0.1/upload/1647265118130_300066.jpg" alt="">
<img src="//127.0.0.1/upload/1647265118350_681553.jpg" data-ke-src="//127.0.0.1/upload/1647265118350_681553.jpg" alt="">
<img src="//127.0.0.1/upload/1647265118885_854027.jpg" data-ke-src="//127.0.0.1/upload/1647265118885_854027.jpg" alt="">
<img src="//127.0.0.1/upload/1647265119412_530569.png" data-ke-src="//127.0.0.1/upload/1647265119412_530569.png" alt="">
<img src="//127.0.0.1/upload/1647265119594_158186.jpg" data-ke-src="//127.0.0.1/upload/1647265119594_158186.jpg" alt="">
<img src="//127.0.0.1/upload/1647265119973_110062.jpg" data-ke-src="//127.0.0.1/upload/1647265119973_110062.jpg" alt="">
</div>

它看起来不在那里,但您可以尝试:

$("#descTemplate img").get().map(img => $(img).attr('src'))

最新更新