我的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);
});
})
答案 0 :(得分:0)
原来这个特定的网站使用延迟加载来加载他们的图像,因此检查时的视图源实际上与获取请求中收到的信息不同。
获取请求没有与src
元素相关联的img
,而是data-cfsrc
与视图源中的src
保持相同的信息
所以,这条线应该是这样的:
let thing = $(element).find('img').attr('data-cfsrc');
非常感谢@rlemon帮助您排除故障!