Cheerio 获取没有 Class 的图像源

Cheerio Get Image Src With No Class

尝试使用 Cheerio 提取 img 源,但 img 没有 class。看起来像

<div class="container_c89a5 lazyLoadContainer_b1038">
<img height="80" src="https://stuff.com" srcset="https://stuff.com" width="80">
</div>

我试过几种不同的方法来选择图像源,但都不成功。

var $ = cheerio.load(html);
    $('div.item_54fdd').each(function(i, element) {
        var a = $(this);
        var title = a.find('.title_9ddaf').text(); //works great
        var image = a.find('div.container_c89a5').first('img').attr('src');  //no luck
        var image = a.find('div.container_c89a5 > img').attr('src');  //no luck

您尝试过使用 find() 吗? 这对我有用:

a.find('.container_c89a5').find('img').attr('src');

使用 eq(i)

通过索引选择第一个 img 标签
a.find('.container_c89a5').children('img').eq(0).attr('src');

你要做的就是检查DOM:

console.log(.container_c89a5 .lazyLoadContainer_b1038)

之后您会看到 DOM json 格式。 你可以通过这种方式选择img:

console.log(.container_c89a5 .lazyLoadContainer_b1038).next()) or .children())

之后您将看到 DOM 和所有新内容,您可以使用 .data 或 .src 进行访问,只需使用 console.log[= 检查 DOM 12=]