TryGetAllPage

Erstellt am vor 4 Tagen
Aktualisiert am vor 4 Tagen
try to take over the world!
#分页遍历
#图片采集
#iframe管理
#批量下载
Gesamtinstallationen
8
Heute neu
+2
Benutzerbewertung
- / 5.0 (0)
Aktuelle Version
2026.6.17.1
Skriptdetails
Anwendbare Websites
通用的网页分页遍历与图片批量下载工具,支持自动发现分页链接、提取页面图片并批量下载。

TryGetAllPage 油猴脚本使用说明

本脚本专为批量抓取多页网站中的图片资源而设计,通过自动遍历分页链接、提取页面内所有图片,并提供批量下载、预览、筛选等功能。无需手动翻页,一键收集全站图片。


🧩 主要特点

  1. 自动发现分页链接
    • 脚本自动识别页面中文本为数字(如 1, 2, 3...)或包含**“上一页/下一页”** 的 <a> 标签,将其作为待遍历的目标页面。
    • 支持递归爬取:在已加载的 iframe 页面中,会继续提取新的分页链接,从而实现全站遍历。
  2. 智能图片资源提取
    不仅提取 <img> 标签的 srcdata-* 属性,还会抓取:
    • 所有元素的 CSS 背景图片background-image
    • 指向图片文件的 链接标签<a href="...jpg">
      自动过滤尺寸过小或宽高比异常的图片(如图标、占位图)。
  3. 高效的 iframe 管理
    • 所有目标页面在侧边栏的 iframe 中加载,不影响当前主页面。
    • 并发加载最多 2 个页面(可调),避免浏览器卡顿。
    • 支持暂停/继续遍历过程,随时控制进度。
  4. 图片预览与批量下载
    • 提取的图片会以缩略图形式显示在侧边栏,方便预览。
    • 支持批量下载(使用 GM_download),并可随时暂停/继续
    • 提供删除模式,可手动剔除不需要的图片后再下载。
  5. 站点级开关控制
    • 通过 Tampermonkey 菜单,可对特定域名启用/禁用脚本,避免干扰其他网站。
    • 启用状态会保存在浏览器中,下次访问自动生效。

🚀 使用方法

1. 启用脚本

  • 访问目标网站(如包含分页的图库、商品列表等)。
  • 点击浏览器右上角的 Tampermonkey 图标,在菜单中找到:
    • “在当前网址和子网址运行” —— 点击后脚本即对该域名生效,页面自动刷新。
    • 如需禁用,点击 “移除当前网址运行了”,刷新后脚本不再运行。

2. 主界面说明

脚本运行后,页面**右侧(或底部)**会出现一个半透明的 iframe 管理面板IframeManager),包含以下控件:

按钮 功能
GetPage 开始遍历分页。点击后按钮变红,并显示进度(如 5/20)。再次点击可暂停遍历。
Del 切换至删除模式(按钮变红)。在此模式下点击缩略图会标记为删除(红框),再次点击取消标记。再次点击 Del 按钮退出删除模式。
Download 开始批量下载所有未被删除的缩略图。点击后按钮变红,并显示剩余数量;再次点击暂停下载。
ShowImg 将已提取到的图片链接以缩略图形式添加到面板中(分批次加载,每批 100 张)。按钮上显示剩余待添加数量。
U 滚动回面板顶部(方便查看)。

缩略图默认仅显示宽高比在 0.1~10 之间且尺寸大于 100px 的图片,避免加载无关小图。

3. 典型操作流程

  1. 打开目标网站(例如一个相册列表页)。
  2. 启用脚本(若未启用)。
  3. 点击 GetPage → 脚本自动抓取当前页面的分页链接,并开始在 iframe 中逐一加载每个页面。
  4. 每加载一个页面,会提取该页内的图片链接,同时发现新的分页链接(如有)并加入队列。
  5. 等待遍历完成(按钮恢复灰色),或随时点击暂停。
  6. 点击 ShowImg 将已收集的图片显示为缩略图(可多次点击分批展示)。
  7. (可选)点击 Del 进入删除模式,手动剔除不想要的图片。
  8. 点击 Download 开始下载,图片将保存到浏览器默认下载目录,文件名为 当前页面标题 + 序号.png

4. 高级操作

  • 暂停/恢复:所有主要操作(GetPage、Download)均支持再次点击按钮暂停,方便控制资源占用。
  • 并发控制:脚本内部限制同时加载的 iframe 数量为 2,避免目标网站压力过大。
  • 自动重试:若 iframe 加载缓慢,面板中的 retry 按钮(绿色时)会自动触发重试,无需手动干预。

⚠️ 注意事项

  1. 适用网站类型
    • 本脚本依赖于带有明确数字分页或“上一页/下一页”链接的网站。若网站采用无限滚动或 AJAX 加载,则无法自动识别分页。
    • 图片提取基于静态 DOM,若图片是通过 JS 动态加载(如懒加载),需确保 data-src 等属性存在,脚本已尝试提取包含 data 的属性值。
  2. 性能与流量
    • 遍历大量页面时,会发起多次网络请求,请合理使用,避免对目标服务器造成负担。
    • 同时打开的 iframe 数量有限(2个),但若页面包含大量图片,内存占用可能升高,建议分批次操作。
  3. 跨域与权限
    • GM_download 需要 Tampermonkey 的 @grant 权限,已在脚本中声明。
    • 若目标网站有反爬机制(如验证码、IP 封锁),批量访问可能触发限制,请谨慎使用。
  4. 下载文件命名
    • 文件名使用 document.title(当前页面标题)加序号,若标题包含特殊字符,可能影响保存,但通常浏览器会自动处理。
  5. 已启用站点的存储
    • 脚本使用 GM_setValue 存储启用列表,清除浏览器数据或卸载脚本会丢失该配置。
  6. 已知限制
    • 脚本的 GetPage 方法(在 MyIM 类中)实际被外部赋值,空方法定义仅为占位,不影响功能。
    • 当 iframe 内页面与主页面不同源时,可能无法获取其 DOM 信息,此时图片提取可能失效(但链接提取不受限)。
  7. 错误处理
    • 若某个页面加载失败或超时,脚本会记录错误并继续处理下一个,不会中断整个过程。
    • 下载失败时会在控制台输出错误信息,可自行检查网络或 URL 有效性。

📌 其他提示

  • 脚本的 @include * 表示匹配所有网址,但实际运行需要通过菜单启用,不会自动生效。
  • 若想调整并发数量,可修改 MyIM 构造函数中的 this.maxPage = 2 变量(需自行编辑脚本)。
  • 建议在 Chrome/Edge + Tampermonkey 或 Firefox + Greasemonkey 等支持 GM_* API 的环境中使用。

享受一键收集全站图片的便利吧! 如有问题,可查看浏览器控制台(F12)的错误日志,辅助定位问题。