怎样在米侠浏览器中通过脚本实现网页图片批量抓取?

作者:袖梨 2026-07-09

可在米侠浏览器通过用户脚本批量下载网页高清图片:先启用JavaScript和用户脚本功能,再运行或持久化注入脚本;需处理防盗链、Referer限制及base64图片以确保下载成功。

你需要在米侠浏览器里自动下载当前网页所有高清图片,而不是一张张右键另存为。米侠基于Chromium内核但不支持Chrome扩展,必须依赖内置的用户脚本功能才能实现批量抓图。

启用米侠的用户脚本功能

打开米侠浏览器→点击右上角「菜单」→「设置」→「隐私与安全」→「内容设置」→「JavaScript」→确保开关处于开启状态。这一步必须完成,否则后续脚本根本不会执行。

返回设置首页→「高级」→「开发者选项」→打开「启用用户脚本」开关。【未开启此开关时,任何脚本都会静默失效,界面无任何提示】

编写并注入图片抓取脚本

方法一:直接粘贴运行(适合单次快速抓取)
在目标网页按 F12 打开开发者工具→切换到「控制台」(Console)标签页→复制下方代码→回车执行:

```javascriptn(() => { const imgs = [...document.querySelectorAll('img[src]')].filter(i => i.src && !i.src.includes('data:image')); const links = imgs.map(i => i.src); if(links.length) { console.log(`发现 ${links.length} 张有效图片`); links.forEach((url, idx) => { const a = document.createElement('a'); a.href = url; a.download = `img_${idx + 1}.${url.split('.').pop().split('?')[0].toLowerCase()}`; document.body.appendChild(a); a.click(); document.body.removeChild(a); }); } else console.log('未找到可用图片'); })();```

方法二:持久化用户脚本(适合频繁使用)
点击地址栏右侧「用户脚本」图标→「新建脚本」→粘贴上方代码→保存名称为「批量下载图片」→勾选「在所有网站运行」→点击「启用」。

规避常见拦截与限制

第一步:检查图片是否被防盗链拦截
执行脚本后若下载失败,手动在控制台输入 fetch(图片URL).then(r=>r.blob()).then(console.log) 测试响应。返回 403 表示服务器拒绝跨域请求。

第二步:绕过 Referer 检查
将原脚本中 a.href = url 替换为以下代码块:

```javascriptnfetch(url, { method: 'GET', mode: 'cors', headers: { 'Referer': location.origin } }).then(r => r.blob()).then(blob => { const a = document.createElement('a'); const urlObj = URL.createObjectURL(blob); a.href = urlObj; a.download = `img_${idx + 1}.${url.split('.').pop().split('?')[0].toLowerCase()}`; document.body.appendChild(a); a.click(); URL.revokeObjectURL(urlObj); document.body.removeChild(a); });```

第三步:处理 base64 图片
若网页大量使用 base64 编码图片,在原始选择器中加入 img[src^="data:image/"],并用正则提取 mime 类型和数据部分,再转为 Blob 下载。这一步需额外添加解码逻辑,否则 base64 图片会被跳过。

相关文章

精彩推荐