3步搞定小红书图片格式转换:XHS-Downloader让HEIC/WEBP即下即用
2026/9/6 8:37:10 网站建设 项目流程

3步搞定小红书图片格式转换:XHS-Downloader让HEIC/WEBP即下即用

【免费下载链接】XHS-Downloader小红书(XiaoHongShu、RedNote)链接提取/作品采集工具:提取账号发布、收藏、点赞、专辑作品链接;提取搜索结果作品、用户链接;采集小红书作品信息;提取小红书作品下载地址;下载小红书作品文件项目地址: https://gitcode.com/gh_mirrors/xh/XHS-Downloader

手机里收藏了 37 张穿搭图,传到电脑全变成 HEIC,PS 一打开就报错;网页端素材保存成 WEBP,客户却点名要 JPG 交付——这类"图能看、不能用"的尴尬,几乎是每个用小红书采集素材的人都踩过的坑。XHS-Downloader 这款开源的小红书作品采集工具,正好把图片格式转换做进了下载流程里:你只要在下单前选好格式,落盘的文件就已经是能直接交付的成品,全程不用打开任何第三方转换软件。

一句话看懂这个功能能干什么

XHS-Downloader 的图片格式转换能力,本质上是一个"下载前转码"机制。它不下载原始图片再本地转,而是让小红书自家的 CDN 在图片传输途中顺手完成格式转换。想保留原图就选 AUTO,想省空间就选 WEBP,想交付给客户就选 JPEG,不同使用方式能触及的格式范围略有差异:

使用入口可选的图片格式适合谁
代码/API 调用(XHS类)AUTO、PNG、WEBP、JPEG、HEIC、AVIF,共 6 种二次开发的程序员
TUI 图形设置界面AUTO、PNG、WEBP、JPEG、HEIC,共 5 种大部分普通用户
命令行参数(--image_formatPNG、WEBP,共 2 种习惯敲命令的进阶用户

三个入口共享同一套配置文件(settings.json中的image_format参数),你在任何一处设置好,下载行为都会同步生效。

实战:从复制链接到拿到 JPG 成品,只走 4 步

先看效果:下面这张命令行截图里,--image_format已经出现在参数列表中,程序把格式选择直接暴露给了终端用户,属于"选完就跑"的典型用法。

接下来我们用最推荐普通用户的 TUI 界面,完整走一遍"WEBP 图集 → JPEG 成品"的流程:

  1. 打开小红书 App,复制任意一篇图文笔记的分享链接;
  2. 启动 XHS-Downloader,在主界面按提示进入"程序设置",找到"图片下载格式"下拉菜单,把默认的 PNG 改成 JPEG;
  3. 点击"保存配置"返回首页,把复制的链接粘贴进输入框(多个链接用空格分隔也可以),回车开始下载;
  4. 去下载目录查看,落盘的全是.jpg后缀文件,双击即可直接预览、直接交付。

设置面板长这样,"图片下载格式"和"程序语言"两个下拉菜单并排陈列,改完点绿色"保存配置"按钮即生效:

走命令行的话更干脆,一条命令把格式和链接一起给出去:

python main.py --image_format WEBP "https://www.xiaohongshu.com/explore/作品ID?xsec_token=XXX"

下载完成后,命令行会逐条打印每个文件的处理结果,哪张成功、哪张跳过一目了然:

如果你是开发者,想在代码里直接指定格式,看example.py第 25 行就知道写法了——image_format = "JPEG"一行注释说清了所有可用值,第 100-105 行还附了每种格式的开关示例,照着取消注释即可切换。

底层原理:只改了 URL 上的一小段参数

格式转换的魔法藏在source/application/image.pyget_image_link方法里。程序先从页面数据中提取出每张图片的 token(可以理解成图片在 CDN 上的"身份证号"),然后根据你选的格式,决定拼接哪种下载地址:

match format_: case "png" | "webp" | "jpeg" | "heic" | "avif": # 指定格式:把 token 拼到 ci.xiaohongshu.com 域名下, # 由小红书 CDN 的 imageView2 服务在传输时现场转码 return [ Html.format_url(cls.__generate_fixed_link(token, format_)) for token in token_list ], live_link case "auto": # 原图直出:走 sns-img-bd 域名,不经过转码 return [ Html.format_url(cls.__generate_auto_link(token)) for token in token_list ], live_link

真正干活的其实是下面这一行——CDN 接口支持按参数动态转码,format/{format_}换成什么,返回的图片就是什么格式:

@staticmethod def __generate_fixed_link(token: str, format_: str) -> str: # 核心奥秘:通过 URL 参数让 CDN 动态转码,本地零负担 return f"https://ci.xiaohongshu.com/{token}?imageView2/format/{format_}"

而格式参数是从设置一路传下来的:settings.jsonManagerapp.py中的__extract_image方法 →image.py。整条链路没有引入任何图像处理库,所以转码几乎不消耗你电脑的 CPU 和内存。

高频疑问集中解答

Q1:转成 JPEG 会损失画质吗?如果对画质要求苛刻,选 AUTO 就好,它返回的是未转码原图;JPEG 属于有损压缩,肉眼通常察觉不到差异,适合交付场景。需要透明背景的设计素材,则应该选 PNG。

Q2:命令行里为什么选不了 HEIC?命令行目前只开放了 PNG、WEBP 两种格式,这是接口的刻意收敛——更多格式需求请用 TUI 界面或代码方式,同样一次设置、全局生效。

Q3:批量下载几十篇笔记,每个都要单独设置格式吗?不用。格式设置是全局参数,设置一次对所有后续下载生效;配合"下载记录"去重功能,重复链接会自动跳过,不会造成二次下载的流量浪费。

Q4:一篇图集里只想下载第 2、5、7 张,能做到吗?可以。命令行加--index "2 5 7",或代码里给extractindex=[2, 5, 7]即可,只下载你指定的序号,不碰其余图片。

Q5:设了格式但下载下来的还是原格式,怎么排查?按顺序检查三点:一是确认格式拼写正确(如 JPEG 而非 JPG);二是确认网络能正常访问图片服务器,必要时在设置里配置代理;三是确认程序是最新版本,旧版本可能没有完整的转码参数支持。

写在最后

图片格式不该成为素材采集的拦路虎。XHS-Downloader 把"选格式"这件事压缩进了下载参数里,让 HEIC 摄影原片、WEBP 网页素材都能按需变成你想要的 JPEG、PNG 或其他格式,一步到位、无需额外软件。如果你也经常从小红书收集素材,不妨给这个开源项目点个 Star,或下载最新 Release 亲自试一次——顺手把image_format调成你常用的格式,从此告别"下载一时爽、打开火葬场"。

实用提示:不确定自己需要什么格式时,先保持默认的 PNG;等摸清了交付方要求,再按本文的入口改成 JPEG 或 WEBP,切换成本几乎为零。

【免费下载链接】XHS-Downloader小红书(XiaoHongShu、RedNote)链接提取/作品采集工具:提取账号发布、收藏、点赞、专辑作品链接;提取搜索结果作品、用户链接;采集小红书作品信息;提取小红书作品下载地址;下载小红书作品文件项目地址: https://gitcode.com/gh_mirrors/xh/XHS-Downloader

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询