2026年9月21日

保存网页图片这件事,听起来简单,做起来却很烦。右键一张张另存为太慢;整页截图又糊、又裁不干净;浏览器扩展则常常把缩略图、图标和真正的内容图混在一起。
Image Downloader 是一个很小的 Python 工具:打开网页,抽出图片地址,优先拿页面已经给出的最高清版本,再存到本地。它不为了“尽可能大”去伪造签名链接,也不默认改你的图片参数。
它不追求全能爬虫,也不假装能突破登录墙。如果你经常需要把某几页上的配图备份下来,它刚好够用。
项目地址→ Github
它到底做什么
给它一个或多个网页地址,它会依次完成这些步骤:
从你粘贴的文本里识别 HTTP / HTTPS 网址,自动清理末尾标点并去重。
请求页面 HTML。Pixiv 作品页会走插画接口拿全部原图;其他站点用 BeautifulSoup 找
<img>。在普通页面上,优先使用
data-full、data-hires、srcset,或指向图片文件的父级链接;没有更好地址时才回退到src/data-src。跳过
data:内嵌图。同一张图出现多种尺寸时,只保留质量最高的那一个。默认按原始图片链接下载。只有你主动选择改参数时,才会替换或追加查询字符串。
文件保存到
downloaded_images目录,遇到重名会自动加前缀,避免覆盖。单张失败会跳过,同一页其余图片继续下。
关键设计是:网页地址永远不会被改写;图片地址默认也不改。 下载时会带上源页面作为 Referer,这对 Pixiv 这类图床尤其重要。
针对几个站点的额外处理
Pixiv
遇到 /artworks/{id} 作品页时,工具会请求插画元数据,拼出全部 img-original 原图地址,而不是页面上的缩略图。多页作品会按页下载。
note.com
对于 assets.st-note.com/img/ 的图片,会改写成点击放大时使用的 CDN 参数:约 4000 像素、质量 90。同一资源路径只保留一个版本。
Patreon
Patreon 的媒体地址是签名过的。工具会优先使用页面真实提供的点击原图链接(来自包围图片的 <a> 或页面内嵌数据),并原样保留访问令牌。它不会伪造新的签名 URL,也不会改写 Patreon 的查询参数。只有 hash、没有过期时间的链接会被跳过。
可选:改图片链接参数
开始下载前,程序会问要不要修改图片 URL 的查询参数。直接回车或选 n,就按原始链接下载。选 y 后,可以输入一组参数,例如:
caw=1920&format=webp
已有同名参数会被替换,新参数会被追加。页面网址不会被动;已签名的 Patreon 媒体地址也不会被改。
https://example.com/a.jpg?caw=500 → https://example.com/a.jpg?caw=1920&format=webp
两种运行方式
交互式:适合临时粘贴一批链接
启动控制台后,每行输入一个网址,也可以一次粘贴含多个网址的文本。空行确认后继续:
python run.py
Enter one or more webpage URLs. URL> https://example.com/page-one URL> https://example.com/page-two URL
无效文本会被忽略,重复网址只处理一次。全部完成后,文件在 downloaded_images 目录里。
源文件模式:适合固定清单反复跑
把网址写进 do.py 顶部的 RAW_TEXT,然后运行:
python do.py
两种入口共用同一套提取、选图、询问改参和下载逻辑,差别只在网址从哪来。
安装
需要 Python 3.13 或更高版本,以及能访问目标网页和图片服务器的网络。依赖很少:requests 负责请求,beautifulsoup4 负责解析 HTML。
python -m venv .venv .\.venv\Scripts\Activate.ps1 python -m pip install --upgrade pip python -m pip install -e
如果 PowerShell 禁止激活虚拟环境脚本,先在当前会话执行:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned .\.venv\Scripts\Activate.ps1
可以改的配置
都在 do.py 文件顶部:
SAVE_DIR:本地保存目录,默认downloaded_images。HEADERS:请求头。默认带常见浏览器 User-Agent;个别站点如果校验来源,可以打开注释里的Referer。
它不会做的事
部分网站会拦截自动化请求,或要求登录后才能看到图片。这个工具不会绕过这些限制。仅登录可见的 Pixiv 或 Patreon 内容,在页面本身无法公开访问时会失败。
它主要认页面里的 <img> 和少数站点接口,不会去解 CSS 背景图,也不会猜测需要额外登录态才能拿到的资源。
把它当成一个诚实的小助手:给你能访问的页面,它帮你把最高清的那张捞下来;遇到墙,它会告诉你失败,而不是假装成功。
适合谁用
需要把参考页、作品页或图文稿里的配图批量存档的人。
经常从 Pixiv、note.com 或 Patreon 公开页备份原图,又不想为一次性任务写完整爬虫的人。
已经有一串乱七八糟的文本,只想从中抽出网址再下载的人。

2026年9月21日

保存网页图片这件事,听起来简单,做起来却很烦。右键一张张另存为太慢;整页截图又糊、又裁不干净;浏览器扩展则常常把缩略图、图标和真正的内容图混在一起。
Image Downloader 是一个很小的 Python 工具:打开网页,抽出图片地址,优先拿页面已经给出的最高清版本,再存到本地。它不为了“尽可能大”去伪造签名链接,也不默认改你的图片参数。
它不追求全能爬虫,也不假装能突破登录墙。如果你经常需要把某几页上的配图备份下来,它刚好够用。
项目地址→ Github
它到底做什么
给它一个或多个网页地址,它会依次完成这些步骤:
从你粘贴的文本里识别 HTTP / HTTPS 网址,自动清理末尾标点并去重。
请求页面 HTML。Pixiv 作品页会走插画接口拿全部原图;其他站点用 BeautifulSoup 找
<img>。在普通页面上,优先使用
data-full、data-hires、srcset,或指向图片文件的父级链接;没有更好地址时才回退到src/data-src。跳过
data:内嵌图。同一张图出现多种尺寸时,只保留质量最高的那一个。默认按原始图片链接下载。只有你主动选择改参数时,才会替换或追加查询字符串。
文件保存到
downloaded_images目录,遇到重名会自动加前缀,避免覆盖。单张失败会跳过,同一页其余图片继续下。
关键设计是:网页地址永远不会被改写;图片地址默认也不改。 下载时会带上源页面作为 Referer,这对 Pixiv 这类图床尤其重要。
针对几个站点的额外处理
Pixiv
遇到 /artworks/{id} 作品页时,工具会请求插画元数据,拼出全部 img-original 原图地址,而不是页面上的缩略图。多页作品会按页下载。
note.com
对于 assets.st-note.com/img/ 的图片,会改写成点击放大时使用的 CDN 参数:约 4000 像素、质量 90。同一资源路径只保留一个版本。
Patreon
Patreon 的媒体地址是签名过的。工具会优先使用页面真实提供的点击原图链接(来自包围图片的 <a> 或页面内嵌数据),并原样保留访问令牌。它不会伪造新的签名 URL,也不会改写 Patreon 的查询参数。只有 hash、没有过期时间的链接会被跳过。
可选:改图片链接参数
开始下载前,程序会问要不要修改图片 URL 的查询参数。直接回车或选 n,就按原始链接下载。选 y 后,可以输入一组参数,例如:
caw=1920&format=webp
已有同名参数会被替换,新参数会被追加。页面网址不会被动;已签名的 Patreon 媒体地址也不会被改。
https://example.com/a.jpg?caw=500 → https://example.com/a.jpg?caw=1920&format=webp
两种运行方式
交互式:适合临时粘贴一批链接
启动控制台后,每行输入一个网址,也可以一次粘贴含多个网址的文本。空行确认后继续:
python run.py
Enter one or more webpage URLs. URL> https://example.com/page-one URL> https://example.com/page-two URL
无效文本会被忽略,重复网址只处理一次。全部完成后,文件在 downloaded_images 目录里。
源文件模式:适合固定清单反复跑
把网址写进 do.py 顶部的 RAW_TEXT,然后运行:
python do.py
两种入口共用同一套提取、选图、询问改参和下载逻辑,差别只在网址从哪来。
安装
需要 Python 3.13 或更高版本,以及能访问目标网页和图片服务器的网络。依赖很少:requests 负责请求,beautifulsoup4 负责解析 HTML。
python -m venv .venv .\.venv\Scripts\Activate.ps1 python -m pip install --upgrade pip python -m pip install -e
如果 PowerShell 禁止激活虚拟环境脚本,先在当前会话执行:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned .\.venv\Scripts\Activate.ps1
可以改的配置
都在 do.py 文件顶部:
SAVE_DIR:本地保存目录,默认downloaded_images。HEADERS:请求头。默认带常见浏览器 User-Agent;个别站点如果校验来源,可以打开注释里的Referer。
它不会做的事
部分网站会拦截自动化请求,或要求登录后才能看到图片。这个工具不会绕过这些限制。仅登录可见的 Pixiv 或 Patreon 内容,在页面本身无法公开访问时会失败。
它主要认页面里的 <img> 和少数站点接口,不会去解 CSS 背景图,也不会猜测需要额外登录态才能拿到的资源。
把它当成一个诚实的小助手:给你能访问的页面,它帮你把最高清的那张捞下来;遇到墙,它会告诉你失败,而不是假装成功。
适合谁用
需要把参考页、作品页或图文稿里的配图批量存档的人。
经常从 Pixiv、note.com 或 Patreon 公开页备份原图,又不想为一次性任务写完整爬虫的人。
已经有一串乱七八糟的文本,只想从中抽出网址再下载的人。

2026年9月21日

保存网页图片这件事,听起来简单,做起来却很烦。右键一张张另存为太慢;整页截图又糊、又裁不干净;浏览器扩展则常常把缩略图、图标和真正的内容图混在一起。
Image Downloader 是一个很小的 Python 工具:打开网页,抽出图片地址,优先拿页面已经给出的最高清版本,再存到本地。它不为了“尽可能大”去伪造签名链接,也不默认改你的图片参数。
它不追求全能爬虫,也不假装能突破登录墙。如果你经常需要把某几页上的配图备份下来,它刚好够用。
项目地址→ Github
它到底做什么
给它一个或多个网页地址,它会依次完成这些步骤:
从你粘贴的文本里识别 HTTP / HTTPS 网址,自动清理末尾标点并去重。
请求页面 HTML。Pixiv 作品页会走插画接口拿全部原图;其他站点用 BeautifulSoup 找
<img>。在普通页面上,优先使用
data-full、data-hires、srcset,或指向图片文件的父级链接;没有更好地址时才回退到src/data-src。跳过
data:内嵌图。同一张图出现多种尺寸时,只保留质量最高的那一个。默认按原始图片链接下载。只有你主动选择改参数时,才会替换或追加查询字符串。
文件保存到
downloaded_images目录,遇到重名会自动加前缀,避免覆盖。单张失败会跳过,同一页其余图片继续下。
关键设计是:网页地址永远不会被改写;图片地址默认也不改。 下载时会带上源页面作为 Referer,这对 Pixiv 这类图床尤其重要。
针对几个站点的额外处理
Pixiv
遇到 /artworks/{id} 作品页时,工具会请求插画元数据,拼出全部 img-original 原图地址,而不是页面上的缩略图。多页作品会按页下载。
note.com
对于 assets.st-note.com/img/ 的图片,会改写成点击放大时使用的 CDN 参数:约 4000 像素、质量 90。同一资源路径只保留一个版本。
Patreon
Patreon 的媒体地址是签名过的。工具会优先使用页面真实提供的点击原图链接(来自包围图片的 <a> 或页面内嵌数据),并原样保留访问令牌。它不会伪造新的签名 URL,也不会改写 Patreon 的查询参数。只有 hash、没有过期时间的链接会被跳过。
可选:改图片链接参数
开始下载前,程序会问要不要修改图片 URL 的查询参数。直接回车或选 n,就按原始链接下载。选 y 后,可以输入一组参数,例如:
caw=1920&format=webp
已有同名参数会被替换,新参数会被追加。页面网址不会被动;已签名的 Patreon 媒体地址也不会被改。
https://example.com/a.jpg?caw=500 → https://example.com/a.jpg?caw=1920&format=webp
两种运行方式
交互式:适合临时粘贴一批链接
启动控制台后,每行输入一个网址,也可以一次粘贴含多个网址的文本。空行确认后继续:
python run.py
Enter one or more webpage URLs. URL> https://example.com/page-one URL> https://example.com/page-two URL
无效文本会被忽略,重复网址只处理一次。全部完成后,文件在 downloaded_images 目录里。
源文件模式:适合固定清单反复跑
把网址写进 do.py 顶部的 RAW_TEXT,然后运行:
python do.py
两种入口共用同一套提取、选图、询问改参和下载逻辑,差别只在网址从哪来。
安装
需要 Python 3.13 或更高版本,以及能访问目标网页和图片服务器的网络。依赖很少:requests 负责请求,beautifulsoup4 负责解析 HTML。
python -m venv .venv .\.venv\Scripts\Activate.ps1 python -m pip install --upgrade pip python -m pip install -e
如果 PowerShell 禁止激活虚拟环境脚本,先在当前会话执行:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned .\.venv\Scripts\Activate.ps1
可以改的配置
都在 do.py 文件顶部:
SAVE_DIR:本地保存目录,默认downloaded_images。HEADERS:请求头。默认带常见浏览器 User-Agent;个别站点如果校验来源,可以打开注释里的Referer。
它不会做的事
部分网站会拦截自动化请求,或要求登录后才能看到图片。这个工具不会绕过这些限制。仅登录可见的 Pixiv 或 Patreon 内容,在页面本身无法公开访问时会失败。
它主要认页面里的 <img> 和少数站点接口,不会去解 CSS 背景图,也不会猜测需要额外登录态才能拿到的资源。
把它当成一个诚实的小助手:给你能访问的页面,它帮你把最高清的那张捞下来;遇到墙,它会告诉你失败,而不是假装成功。
适合谁用
需要把参考页、作品页或图文稿里的配图批量存档的人。
经常从 Pixiv、note.com 或 Patreon 公开页备份原图,又不想为一次性任务写完整爬虫的人。
已经有一串乱七八糟的文本,只想从中抽出网址再下载的人。
