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=]
尝试使用 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=]