Cheerio 找不到 IMG src
Cheerio can't find IMG src
我的 cheerio 代码似乎无法正常工作。我正在尝试从 imgWrap
div 内的 <img>
标签获取 src 在给定的 link.
我试过将 .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);
});
})
原来这个特定的网站使用延迟加载来加载他们的图片,所以检查时的视图源实际上与 get 请求中收到的信息不同。
get 请求没有与 img
元素关联的 src
,而是包含与 src
中的 src
相同信息的 data-cfsrc
查看源代码。
所以,这行实际上应该是这样的:
let thing = $(element).find('img').attr('data-cfsrc');
非常感谢@rlemon 帮助解决此问题!
我的 cheerio 代码似乎无法正常工作。我正在尝试从 imgWrap
div 内的 <img>
标签获取 src 在给定的 link.
我试过将 .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);
});
})
原来这个特定的网站使用延迟加载来加载他们的图片,所以检查时的视图源实际上与 get 请求中收到的信息不同。
get 请求没有与 img
元素关联的 src
,而是包含与 src
中的 src
相同信息的 data-cfsrc
查看源代码。
所以,这行实际上应该是这样的:
let thing = $(element).find('img').attr('data-cfsrc');
非常感谢@rlemon 帮助解决此问题!