Cheerio无法找到IMG src

时间:2017-12-23 21:42:34

标签: javascript express cheerio scraper

我的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);
   });
})

1 个答案:

答案 0 :(得分:0)

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

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

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

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

非常感谢@rlemon帮助您排除故障!