[英]How to scrape images from a site using javascript?
我正在尝试用 javascript 编写一个脚本来从网站上抓取图像并将它们保存到我的计算机上。
我已经设法使脚本使用 jQuery 隔离包含我想要的图像的图像标记。 所以我有一个 jquery 选择:
<img src="sourceofimage.com/path/img">
我的问题是我现在如何将此图像保存到我的计算机上?
我尝试搜索,但我得到的所有结果都是关于制作下载按钮或其他面向用户的任务。 需要明确的是,我将是唯一一个运行此脚本的人,它将通过将其粘贴到控制台中来运行。
我只想要一种以编程方式下载图像并在 jQuery 隔离它后设置其文件名的方法。 这可能吗?
编辑:有人可以解释为什么会收到这么多反对票吗?
试试 fs 库
fs.writeFile('logo.png', imagedata, 'binary', function(err){
if (err) throw err
console.log('File saved.')
这将适用于您页面上的每张图片,这些图片是锚点的直接子代,但您可以使用:
'$('a > img').each(function(){
var $this = $(this);
$this.parent('a').attr('href', $this.attr('src'));
});
但它会完成这项工作。
唯一的问题是,禁用 JS 的用户将看到一个带有空 href 的锚点。 以下将实现相同的最终结果,并具有简化代码(更干净的 HTML)和添加优雅降级的额外好处:
'<img src="folio/1.jpg" class="downloadable" />
$('img.downloadable').each(function(){
var $this = $(this);
$this.wrap('<a href="' + $this.attr('src') + '" download />')
在网络浏览器中,它基本上无法完成,您不能直接写入文件系统(使用浏览器扩展可能是可能的,但我有一段时间没有看过这个)。
使用 node 没有什么能阻止你做这样的事情:
$(html).find('img');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.