XHS-Downloader 小红书图文/视频作品采集工具

发表:4月前 更新:4月前

免费;轻量;开源,基于 AIOHTTP 模块实现的小红书图文/视频作品采集工具

开源地址:https://github.com/JoeanAmier/XHS-Downloader

功能清单

  • ✅ 采集小红书图文/视频作品信息
  • ✅ 提取小红书图文/视频作品下载地址
  • ✅ 下载小红书无水印图文/视频作品文件
  • ✅ 自动跳过已下载的作品文件
  • ✅ 作品文件完整性处理机制
  • ✅ 持久化储存作品信息至文件
  • ☑️ 后台监听剪贴板下载作品
  • ☑️ 支持 API 调用功能

📸 程序截图

1702701092-1_1702701091_53lnu82RDA.webp

支持链接

    • https://www.xiaohongshu.com/explore/作品ID
    • https://www.xiaohongshu.com/discovery/item/作品ID
    • https://xhslink.com/分享码

 

支持单次输入多个作品链接,链接之间使用空格分隔。

🪟 关于终端

⭐ 推荐使用 Windows 终端 (Windows 11 自带默认终端)运行程序以便获得最佳显示效果!

🥣 使用方法

如果仅需下载作品文件,选择 直接运行 或者 源码运行 均可,如果需要获取作品信息,则需要进行二次开发进行调用。

🖱 直接运行

前往 Releases 下载程序压缩包,解压后打开程序文件夹,双击运行 main.exe 即可使用。

⌨️ 源码运行

  1. 安装版本号不低于 3.12 的 Python 解释器
  2. 运行 pip install -r requirements.txt 命令安装程序所需模块
  3. 下载本项目最新的源码或 Releases 发布的源码至本地
  4. 运行 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"
multiple_demo = f"{image_demo} {video_demo}"
# 实例对象
path = ""  # 作品数据/文件保存根路径,默认值:项目根路径
folder_name = "Download"  # 作品文件储存文件夹名称(自动创建),默认值:Download
user_agent = ""  # 请求头 User-Agent
cookie = ""  # 小红书网页版 Cookie,无需登录
proxy = ""  # 网络代理
timeout = 5  # 网络请求超时限制,单位:秒,默认值:10
chunk = 1024 * 1024  # 下载文件时,每次从服务器获取的数据块大小,单位:字节
max_retry = 2  # 请求数据失败时,重试的最大次数,单位:秒,默认值:5
# async with XHS() as xhs:
#     pass  # 使用默认参数
async with XHS(path=path,
               folder_name=folder_name,
               user_agent=user_agent,
               cookie=cookie,
               proxy=proxy,
               timeout=timeout,
               chunk=chunk,
               max_retry=max_retry, ) as xhs:  # 使用自定义参数
    download = True  # 是否下载作品文件,默认值:False
    # 返回作品详细信息,包括下载地址
    print(await xhs.extract(error_demo, download))  # 获取数据失败时返回空字典
    print(await xhs.extract(image_demo, download))
    print(await xhs.extract(video_demo, download))
    print(await xhs.extract(multiple_demo, download))  # 支持传入多个作品链接

⚙️ 配置文件

项目根目录下的 settings.json 文件,首次运行自动生成,可以自定义部分运行参数。

参数 类型 含义 默认值
path str 作品数据 / 文件保存根路径 项目根路径
folder_name str 作品文件储存文件夹名称 Download
user_agent str 请求头 User-Agent 默认 UA
cookie str 小红书网页版 Cookie,无需登录 默认 Cookie
proxy str 设置代理
timeout int 请求数据超时限制,单位:秒 10
chunk int 下载文件时,每次从服务器获取的数据块大小,单位:字节 1048576(1 MB)
max_retry int 请求数据失败时,重试的最大次数,单位:秒 5
record_data bool 是否记录作品数据至文件 false
image_format str 图文作品文件名称后缀,例如:jpgpng webp

 

signature
保持理智

全部评论

junhs

发表 :4月前
好好好
评论

无权限

请登录后评论

RunPod公众号

赞助商

联系我们

QQ群:798695907

邮箱:laravel@88.com