一键提取网页图片
上周帮朋友整理一份竞品分析报告,键提需要从对方官网扒下三十多张产品图。取网手动右键另存为,页图一张张点,键提文件名还乱成一锅粥。取网我试了三个浏览器插件,页图两个要付费,键提一个下到一半卡死。取网最后翻出一个老工具,页图两分钟搞定。键提这事让我意识到,取网很多人还在用笨办法对付网页图片。页图
网页图片的键提提取,核心就两种思路。取网一种是页图浏览器层面截取,比如开发者工具里的Network面板,刷新页面后筛选Img类型请求,右键就能保存。这招适合单张或少量图片,精准但费手。另一种是脚本批量抓取,用Python的requests加BeautifulSoup,或者现成的工具直接扫全页。我常用的是Image Downloader这个Chrome插件,点一下图标,它会把当前页面所有图片按尺寸、格式列出来,勾选后一键打包下载。免费版够用,没广告。
但这里有个坑。很多网站的图片是懒加载的,你滚动到哪它才加载哪。直接抓取只能拿到已加载的部分。解决办法是先快速滚动到底,或者用插件里的“模拟滚动”功能。另外,有些图片藏在CSS背景里,不是img标签,得用工具扫背景图模式。我遇到过最极端的情况,一个电商页面用JS动态拼接图片URL,静态抓取完全失效。最后用Puppeteer模拟浏览器行为才拿到。
如果你不想装插件,有个更野的路子。打开网页,按F12进控制台,粘贴一段代码:document.querySelectorAll('img').forEach(img => { let a = document.createElement('a'); a.href = img.src; a.download = img.src.split('/').pop(); a.click(); })。浏览器会一张张弹出下载框,烦是烦了点,但不用装任何东西。注意有些网站有防盗链,下载下来是空白图,这时候得在代码里加个referrer策略,或者手动改请求头。
手机端更简单。iOS用快捷指令,建一个“获取网页图片”的动作,分享页面时直接运行,图片全进相册。安卓用Kiwi Browser加插件,或者Termux跑脚本。我在地铁上试过用iPhone快捷指令抓小红书配图,十秒完事,比截屏裁切快多了。
说个真实案例。上个月帮一个做民宿的朋友抓某平台房源图,三百多张,分布在二十个页面。我写了个循环,用Selenium翻页,每页抓完自动点下一页,图片按房源标题分文件夹存。中途遇到验证码,手动过了一次,其余全自动。全程四十分钟,朋友以为我要搞一整天。这活的关键不是技术多高深,是选对工具加一点耐心调试。
最后提醒一句,抓图前看一眼网站的robots.txt和版权声明。个人学习研究没人管你,批量抓取商用素材,律师函可能比图片先到。我一般只抓公开可用的,或者明确标注CC协议的。那些付费图库的预览图,带水印的,抓了也没用。
工具在精不在多。我现在固定用三样:Image Downloader对付常规页面,Puppeteer对付动态站点,快捷指令对付手机端。够用了。