小红书作品采集工具
Github XHS_Downloader:https://github.com/JoeanAmier/XHS_Downloader
📝 功能清单
- 采集小红书图文/视频作品信息
- 获取小红书图文/视频作品下载地址
- 下载小红书图文/视频作品文件
- 自动跳过已存在的作品文件
- 作品文件完整性处理机制
- 批量下载小红书作品文件
📸 程序截图
🥣 使用方法
如果仅需下载作品文件,选择 直接运行 或者 源码运行 均可,如果需要获取作品信息,则需要进行二次开发进行调用。
🖱 直接运行
前往 Releases 下载程序压缩包,解压后打开程序文件夹,双击运行 main.exe
即可使用。
⌨️ 源码运行
- 安装版本号不低于
3.10
的 Python 解释器 - 安装
requirements.txt
包含的第三方模块 - 下载本项目最新的源码或
Releases
发布的源码至本地 - 运行
main.py
即可使用
💻 二次开发
如果想要获取小红书图文/视频作品信息,可以根据 main.py
的注释提示进行代码调用。# 测试链接 error_demo = “https://github.com/JoeanAmier/XHS_Downloader” image_demo = “https://www.xiaohongshu.com/explore/63b275a30000000019020185” video_demo = “https://www.xiaohongshu.com/explore/64edb460000000001f03cadc” # 实例对象 path = “” # 作品下载储存根路径,默认值:当前路径 folder = “Download” # 作品下载文件夹名称(自动创建),默认值:Download cookie = “” # 小红书网页版 Cookie proxies = None # 网络代理 timeout = 5 # 网络请求超时限制,默认值:10 chunk = 1024 * 1024 # 下载文件时,每次从服务器获取的数据块大小,单位字节 xhs = XHS( path=path, folder=folder, cookie=cookie, proxies=proxies, timeout=timeout, chunk=chunk, ) # 使用自定义参数 # xhs = XHS() # 使用默认参数 download = True # 是否下载作品文件 # 返回作品详细信息,包括下载地址 print(xhs.extract(error_demo)) # 获取数据失败时返回空字典 print(xhs.extract(image_demo, download=download)) print(xhs.extract(video_demo, download=download))
⛓ 批量下载
在程序所在文件夹创建一个 xhs.txt
文本文件,然后将待处理的作品链接输入文件,每行输入一个作品链接,编辑完成后保存文件,然后运行程序,点击 读取 xhs.txt 文件并批量下载作品
按钮,程序会批量下载每个链接对应的作品文件。
⚙️ 配置文件
根目录下的 settings.json
文件,可以自定义部分运行参数。
参数 | 类型 | 含义 | 默认值 |
---|---|---|---|
path | str | 作品文件储存根路径 | 项目根路径 |
folder | str | 作品文件储存文件夹名称 | Download |
cookie | str | 小红书网页版 Cookie,无需登录;建议自行设置 | 内置 Cookie |
proxies | str | 设置代理 | 无 |
timeout | int | 请求数据超时限制,单位:秒 | 10 |
chunk | int | 下载文件时,每次从服务器获取的数据块大小,单位:字节 | 262144(256KB) |
🌐 Cookie
- 打开浏览器(可选无痕模式启动),访问小红书任意网页
- 按
F12
打开开发人员工具 - 选择
控制台
选项卡 - 输入
document.cookie
后回车确认 - 输出内容即为所需 Cookie
♥️ 支持项目
如果 XHS_Downloader 对您有帮助,请考虑为它点个 Star ⭐,感谢您的支持!
⚠️ 免责声明
- 使用者对本项目的使用由使用者自行决定,并自行承担风险。作者对使用者使用本项目所产生的任何损失、责任、或风险概不负责。
- 本项目的作者提供的代码和功能是基于现有知识和技术的开发成果。作者尽力确保代码的正确性和安全性,但不保证代码完全没有错误或缺陷。
- 使用者在使用本项目时必须严格遵守 GNU General Public License v3.0 的要求,并在适当的地方注明使用了 GNU General Public License v3.0 的代码。
- 使用者在任何情况下均不得将本项目的作者、贡献者或其他相关方与使用者的使用行为联系起来,或要求其对使用者使用本项目所产生的任何损失或损害负责。
- 使用者在使用本项目的代码和功能时,必须自行研究相关法律法规,并确保其使用行为合法合规。任何因违反法律法规而导致的法律责任和风险,均由使用者自行承担。
- 基于本项目进行的任何二次开发、修改或编译的程序与原创作者无关,原创作者不承担与二次开发行为或其结果相关的任何责任,使用者应自行对因二次开发可能带来的各种情况负全部责任。
在使用本项目的代码和功能之前,请您认真考虑并接受以上免责声明。如果您对上述声明有任何疑问或不同意,请不要使用本项目的代码和功能。如果您使用了本项目的代码和功能,则视为您已完全理解并接受上述免责声明,并自愿承担使用本项目的一切风险和后果。