Cheerio无法找到IMG src

问题描述 投票:0回答:1

我的cheerio代码似乎不起作用。我试图从给定链接的<img> div中找到的imgWrap标签中获取src。

我已经尝试重写.imgWrap作为.imgWrap img并删除find,但这也不起作用......

但是,如果我做$(element).children()$(element).html()我看到了我期望的结果......

request.get('http://www.bk.com/menu/burgers', function(error, response, body) {
   const $ = cheerio.load(body);

   let menu = $('.imgWrap').each(function(i, element) {
      let thing = $(element).find('img').attr('src');
      console.log(thing);
   });
})
javascript express cheerio scraper
1个回答
0
投票

事实证明,这个特定的网站使用延迟加载来加载他们的图像,因此检查时的视图源实际上与获取请求中收到的信息不同。

get请求没有与src元素关联的img,而是data-cfsrc,它与视图源中的src保持相同的信息。

所以,这条线应该是这样的:

let thing = $(element).find('img').attr('data-cfsrc');

非常感谢@rlemon帮忙解决这个问题!

© www.soinside.com 2019 - 2024. All rights reserved.