在node.js中从外部网页获取所有图像url的最佳方式是什么?

从节点,我想从外部网页获取所有图像url(来自img标签的src属性)。

我开始考虑phantonjs,但不喜欢它没有真正集成到节点(即它运行在外部过程中)。

接下来,我尝试使用请求模块和cheerio。 这个工程很好,除了我必须处理相关的图像url。 例如

 <img src='http//example.com/i.jpg'> <img src='/i.jpg'> <img src='i.jpg'> <img src='../images/i.jpg'> 

我可以处理,但我想知道是否有一个更简单的方法?

我最终使用request节点模块以及cheeriourl 。 这是我最终做的(请注意,这是mvp代码,而不是生产质量):

 app.get('/scrape-images', function(req, res) { request(req.query.url, function (error, response, body) { if (!error && response.statusCode == 200) { var $ = cheerio.load(body); var reqUrl = url.parse(req.query.url); res.send($('img').map(function(i, e) { var srcUrl = url.parse($(e).attr('src')); if (!srcUrl.host) { return url.resolve(reqUrl, srcUrl); } else { return url.format(srcUrl); } })); } }); });