Skip to content

JinFoolish/rednote-media

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

XHS-Downloader (小红书下载助手)

这是一个功能强大的小红书(RedNote)媒体抓取与下载工具,由 油猴插件 (Tampermonkey Script)本地后端服务器 (Python Server) 两部分组成。它可以帮助你轻松提取小红书作品链接,并无水印下载图文、视频作品。

🌟 主要功能

油猴脚本 (getim.js)

  • 多页面支持:支持发现页(Explore)、用户主页、搜索结果页、专辑页等。
  • 资源提取:自动提取无水印图片链接和视频链接。
  • 交互式选择:内置弹窗,允许用户手动选择需要下载的图片或作品。
  • 批量操作:一键提取当前页面所有作品链接或进行批量下载。
  • 自动滚动:支持自动滚动页面以加载更多内容。
  • 灵活下载
    • 支持浏览器直接下载(多文件自动打包为 ZIP)。
    • 支持发送任务到本地后端服务器进行高效下载。

后端服务器 (server.py)

  • 异步下载:基于 FastAPIaiohttp 的异步架构,支持高并发下载。
  • 自动分类:下载的文件会根据类型(图片/视频)和作者名自动分目录存储。
  • 断点续传/重试:具备基本的清理机制和超时处理。
  • WebSocket 通讯:与前端脚本实时通讯,即时反馈下载状态。

🚀 安装与设置

1. 前端脚本安装

  1. 安装浏览器插件 Tampermonkey (油猴)
  2. getim.js 的内容复制并新建脚本,或者直接将文件拖入 Tampermonkey。
  3. 脚本会自动在小红书网页左下角生成一个浮动图标。

2. 后端服务器配置

后端需要 Python 环境(推荐 Python 3.8+)。

  1. 安装依赖
    pip install fastapi uvicorn aiohttp aiofiles
  2. 启动服务器
    python server.py
    服务器默认运行在 ws://127.0.0.1:8000

🛠 使用说明

  1. 打开小红书:进入任意作品页或用户主页。
  2. 菜单操作
    • 点击左下角的图标打开功能菜单。
    • 提取链接:将当前页面的作品/用户链接复制到剪贴板。
    • 下载作品:直接下载当前查看的作品。
    • 批量下载:下载当前页面加载的所有作品。
  3. 设置项
    • 在菜单中点击“脚本设置”。
    • 使用本地后端:开启后,下载任务将由 server.py 接管,文件保存在 server.py 所在的同级目录下。
    • 文件打包下载:开启后,浏览器模式下载多图作品会生成 ZIP。

📂 存储结构 (使用后端下载时)

下载后的文件将按以下结构组织:

project_root/
├── image/
│   └── 作者名/
│       ├── 作品标题_1.png
│       └── ...
└── video/
    └── 作者名/
        └── 作品标题.mp4

⚠️ 注意事项

  • 登录状态:部分功能(如用户主页抓取)可能需要你在浏览器中处于登录状态。
  • 验证码:如果频繁抓取,可能会触发小红书的滑动验证码,请手动完成验证后继续。
  • 法律声明:本项目仅供学习和研究使用,请勿用于任何商业用途或侵犯他人版权的行为。

About

只抓小红书的media

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors