{"id":13456682,"url":"https://github.com/JoeanAmier/XHS-Downloader","last_synced_at":"2025-03-24T11:31:02.235Z","repository":{"id":188683481,"uuid":"679219059","full_name":"JoeanAmier/XHS-Downloader","owner":"JoeanAmier","description":"小红书链接提取/作品采集工具：提取账号发布、收藏、点赞、专辑作品链接；提取搜索结果作品、用户链接；采集小红书作品信息；提取小红书作品下载地址；下载小红书无水印作品文件！","archived":false,"fork":false,"pushed_at":"2024-10-20T13:44:10.000Z","size":7570,"stargazers_count":5400,"open_issues_count":102,"forks_count":802,"subscribers_count":21,"default_branch":"master","last_synced_at":"2024-10-29T14:54:43.391Z","etag":null,"topics":["aiohttp","api","css","docker","javascript","json","linux","macos","python","tampermonkey","textual","userscript","windows","xhs"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JoeanAmier.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-16T11:03:36.000Z","updated_at":"2024-10-29T14:46:26.000Z","dependencies_parsed_at":"2024-03-02T08:27:07.401Z","dependency_job_id":"718d8fde-e5eb-4d84-b557-1b0587a10843","html_url":"https://github.com/JoeanAmier/XHS-Downloader","commit_stats":{"total_commits":173,"total_committers":5,"mean_commits":34.6,"dds":"0.028901734104046284","last_synced_commit":"0a52dc0ed27ab9186c0613a85a4da7543c8f4ac2"},"previous_names":["joeanamier/xhs-downloader","joeanamier/xhs_downloader"],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoeanAmier%2FXHS-Downloader","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoeanAmier%2FXHS-Downloader/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoeanAmier%2FXHS-Downloader/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JoeanAmier%2FXHS-Downloader/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JoeanAmier","download_url":"https://codeload.github.com/JoeanAmier/XHS-Downloader/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245260762,"owners_count":20586457,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aiohttp","api","css","docker","javascript","json","linux","macos","python","tampermonkey","textual","userscript","windows","xhs"],"created_at":"2024-07-31T08:01:25.962Z","updated_at":"2025-03-24T11:31:02.225Z","avatar_url":"https://github.com/JoeanAmier.png","language":"Python","funding_links":[],"categories":["2023-12-11","Python","📚 Projects (1974 total)","Containerised MCP Servers","HarmonyOS","🌐 Web \u0026 Scrapers (网络、爬虫与下载)","最近更新","Web Scraping (5)"],"sub_categories":["MCP Servers","Database \u0026 Storage","Windows Manager"],"readme":"\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"static/XHS-Downloader.png\" alt=\"\" height=\"256\" width=\"256\"\u003e\u003cbr\u003e\n\u003ch1\u003eXHS-Downloader\u003c/h1\u003e\n\u003cp\u003e简体中文 | \u003ca href=\"README_EN.md\"\u003eEnglish\u003c/a\u003e\u003c/p\u003e\n\u003ca href=\"https://trendshift.io/repositories/5435\" target=\"_blank\"\u003e\u003cimg src=\"https://trendshift.io/api/badge/repositories/5435\" alt=\"JoeanAmier%2FXHS-Downloader | Trendshift\" style=\"width: 250px; height: 55px;\" width=\"250\" height=\"55\"/\u003e\u003c/a\u003e\n\u003cbr\u003e\n\u003cimg alt=\"GitHub\" src=\"https://img.shields.io/github/license/JoeanAmier/XHS-Downloader?style=for-the-badge\u0026color=ff7a45\"\u003e\n\u003cimg alt=\"GitHub forks\" src=\"https://img.shields.io/github/forks/JoeanAmier/XHS-Downloader?style=for-the-badge\u0026color=9254de\"\u003e\n\u003cimg alt=\"GitHub Repo stars\" src=\"https://img.shields.io/github/stars/JoeanAmier/XHS-Downloader?style=for-the-badge\u0026color=ff7875\"\u003e\n\u003cimg alt=\"Static Badge\" src=\"https://img.shields.io/badge/UserScript-ffec3d?style=for-the-badge\u0026logo=tampermonkey\u0026logoColor=%2300485B\"\u003e\n\u003cbr\u003e\n\u003cimg alt=\"Static Badge\" src=\"https://img.shields.io/badge/Python-3.12-3498db?style=for-the-badge\u0026logo=python\u0026labelColor=fffa65\"\u003e\n\u003cimg alt=\"GitHub code size in bytes\" src=\"https://img.shields.io/github/languages/code-size/JoeanAmier/XHS-Downloader?style=for-the-badge\u0026color=73d13d\"\u003e\n\u003cimg alt=\"GitHub release (with filter)\" src=\"https://img.shields.io/github/v/release/JoeanAmier/XHS-Downloader?style=for-the-badge\u0026color=40a9ff\"\u003e\n\u003cimg alt=\"GitHub all releases\" src=\"https://img.shields.io/github/downloads/JoeanAmier/XHS-Downloader/total?style=for-the-badge\u0026color=f759ab\"\u003e\n\u003c/div\u003e\n\u003cbr\u003e\n\u003cp\u003e🔥 \u003cb\u003e小红书链接提取/作品采集工具\u003c/b\u003e：提取账号发布、收藏、点赞、专辑作品链接；提取搜索结果作品链接、用户链接；采集小红书作品信息；提取小红书作品下载地址；下载小红书无水印作品文件！\u003c/p\u003e\n\u003cp\u003e🔥 “小红书”、“XiaoHongShu”、“RedNote” 含义相同，本项目统称为 “小红书”\u003c/p\u003e\n\u003cp\u003e⭐ 本项目完全免费开源，无任何收费功能，请勿上当受骗！\u003c/p\u003e\n\u003ch1\u003e📑 项目功能\u003c/h1\u003e\n\u003cul\u003e\u003cb\u003e程序功能\u003c/b\u003e\n\u003cli\u003e✅ 采集小红书作品信息\u003c/li\u003e\n\u003cli\u003e✅ 提取小红书作品下载地址\u003c/li\u003e\n\u003cli\u003e✅ 下载小红书无水印作品文件\u003c/li\u003e\n\u003cli\u003e✅ 下载小红书 livePhoto 文件(非无水印)\u003c/li\u003e\n\u003cli\u003e✅ 自动跳过已下载的作品文件\u003c/li\u003e\n\u003cli\u003e✅ 作品文件完整性处理机制\u003c/li\u003e\n\u003cli\u003e✅ 自定义图文作品文件下载格式\u003c/li\u003e\n\u003cli\u003e✅ 持久化储存作品信息至文件\u003c/li\u003e\n\u003cli\u003e✅ 作品文件储存至单独文件夹\u003c/li\u003e\n\u003cli\u003e✅ 后台监听剪贴板下载作品\u003c/li\u003e\n\u003cli\u003e✅ 记录已下载作品 ID\u003c/li\u003e\n\u003cli\u003e✅ 支持命令行下载作品文件\u003c/li\u003e\n\u003cli\u003e✅ 从浏览器读取 Cookie\u003c/li\u003e \n\u003cli\u003e✅ 自定义文件名称格式\u003c/li\u003e \n\u003cli\u003e✅ 支持 API 调用功能\u003c/li\u003e\n\u003cli\u003e✅ 支持文件断点续传下载\u003c/li\u003e\n\u003cli\u003e✅ 智能识别作品文件类型\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\u003ca href=\"#user-scripts\"\u003e\u003cb\u003e脚本功能\u003c/b\u003e\u003c/a\u003e\n\u003cli\u003e✅ 下载小红书无水印作品文件\u003c/li\u003e\n\u003cli\u003e✅ 提取推荐页面作品链接\u003c/li\u003e\n\u003cli\u003e✅ 提取账号发布作品链接\u003c/li\u003e\n\u003cli\u003e✅ 提取账号收藏作品链接\u003c/li\u003e\n\u003cli\u003e✅ 提取账号点赞作品链接\u003c/li\u003e\n\u003cli\u003e✅ 提取账号专辑作品链接\u003c/li\u003e\n\u003cli\u003e✅ 提取搜索结果作品链接\u003c/li\u003e\n\u003cli\u003e✅ 提取搜索结果用户链接\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e⭐ XHS-Downloader 开发计划及进度可前往 \u003ca href=\"https://github.com/users/JoeanAmier/projects/5\"\u003eProjects\u003c/a\u003e 查阅\u003c/p\u003e\n\u003ch1\u003e📸 程序截图\u003c/h1\u003e\n\u003cp\u003e\u003cb\u003e🎥 点击图片观看演示视频\u003c/b\u003e\u003c/p\u003e\n\u003ca href=\"https://www.bilibili.com/video/BV1c56BYJEFm/\"\u003e\u003cimg src=\"static/screenshot/程序运行截图CN1.png\" alt=\"\"\u003e\u003c/a\u003e\n\u003chr\u003e\n\u003ca href=\"https://www.bilibili.com/video/BV1c56BYJEFm/\"\u003e\u003cimg src=\"static/screenshot/程序运行截图CN2.png\" alt=\"\"\u003e\u003c/a\u003e\n\u003chr\u003e\n\u003ca href=\"https://www.bilibili.com/video/BV1c56BYJEFm/\"\u003e\u003cimg src=\"static/screenshot/程序运行截图CN3.png\" alt=\"\"\u003e\u003c/a\u003e\n\u003ch1\u003e🔗 支持链接\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ehttps://www.xiaohongshu.com/explore/作品ID?xsec_token=XXX\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ehttps://www.xiaohongshu.com/discovery/item/作品ID?xsec_token=XXX\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ehttps://xhslink.com/分享码\u003c/code\u003e\u003c/li\u003e\n\u003cbr/\u003e\n\u003cp\u003e\u003cb\u003e支持单次输入多个作品链接，链接之间使用空格分隔；程序会自动提取有效链接，无需额外处理！\u003c/b\u003e\u003c/p\u003e\n\u003c/ul\u003e\n\u003ch1\u003e🪟 关于终端\u003c/h1\u003e\n\u003cp\u003e⭐ 推荐使用 \u003ca href=\"https://learn.microsoft.com/zh-cn/windows/terminal/install\"\u003eWindows 终端\u003c/a\u003e （Windows 11 默认终端）运行程序以便获得最佳显示效果！\u003c/p\u003e\n\u003ch1\u003e🥣 使用方法\u003c/h1\u003e\n\u003cp\u003e如果仅需下载无水印作品文件，建议选择 \u003cb\u003e程序运行\u003c/b\u003e 或 \u003cb\u003eDocker 运行\u003c/b\u003e；如果有其他需求，建议选择 \u003cb\u003e源码运行\u003c/b\u003e！\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003e2.2\u003c/code\u003e 版本开始，项目功能无异常的情况下，无需额外处理 Cookie！\u003c/p\u003e\n\u003ch2\u003e🖱 程序运行\u003c/h2\u003e\n\u003cp\u003e⭐ Mac OS、Windows 10 及以上用户可前往 \u003ca href=\"https://github.com/JoeanAmier/XHS-Downloader/releases/latest\"\u003eReleases\u003c/a\u003e 下载程序压缩包，解压后打开程序文件夹，双击运行 \u003ccode\u003emain\u003c/code\u003e 即可使用。\u003c/p\u003e\n\u003cp\u003e⭐ 本项目包含手动构建可执行文件的 GitHub Actions，使用者可以随时使用 GitHub Actions 将最新源码构建为可执行文件！\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e注意：Mac OS 平台可执行文件 \u003ccode\u003emain\u003c/code\u003e 可能需要从终端命令行启动；受设备限制，Mac OS 平台可执行文件尚未经过测试，无法保证可用性！\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e若通过此方式使用程序，文件默认下载路径为：\u003ccode\u003e.\\_internal\\Download\u003c/code\u003e；配置文件路径为：\u003ccode\u003e.\\_internal\\settings.json\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003e⌨️ Docker 运行\u003c/h2\u003e\n\u003col\u003e\n\u003cli\u003e获取镜像\u003c/li\u003e\n\u003cul\u003e\n\u003cli\u003e方式一：使用 \u003ccode\u003eDockerfile\u003c/code\u003e 文件构建镜像\u003c/li\u003e\n\u003cli\u003e方式二：使用 \u003ccode\u003edocker pull joeanamier/xhs-downloader\u003c/code\u003e 命令拉取镜像\u003c/li\u003e\n\u003c/ul\u003e\n\u003cli\u003e创建容器\u003c/li\u003e\n\u003cul\u003e\n\u003cli\u003eTUI 模式：\u003ccode\u003edocker run --name 容器名称(可选) -p 主机端口号:8000 -it joeanamier/xhs-downloader\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAPI 模式：\u003ccode\u003edocker run --name 容器名称(可选) -p 主机端口号:8000 -it joeanamier/xhs-downloader python main.py server\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cli\u003e运行容器\n\u003cul\u003e\n\u003cli\u003e启动容器：\u003ccode\u003edocker start -i 容器名称/容器 ID\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e重启容器：\u003ccode\u003edocker restart -i 容器名称/容器 ID\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eDocker 运行项目时不支持 \u003cb\u003e命令行调用模式\u003c/b\u003e，无法使用 \u003cb\u003e读取剪贴板\u003c/b\u003e 与 \u003cb\u003e监听剪贴板\u003c/b\u003e 功能，可以正常粘贴内容，其他功能如有异常请反馈！\u003c/p\u003e\n\u003ch2\u003e⌨️ 源码运行\u003c/h2\u003e\n\u003col\u003e\n\n[//]: # (\u003cli\u003e安装版本号不低于 \u003ccode\u003e3.12\u003c/code\u003e 的 Python 解释器\u003c/li\u003e)\n\u003cli\u003e安装版本号为 \u003ccode\u003e3.12\u003c/code\u003e 的 Python 解释器\u003c/li\u003e\n\u003cli\u003e下载本项目最新的源码或 \u003ca href=\"https://github.com/JoeanAmier/XHS-Downloader/releases/latest\"\u003eReleases\u003c/a\u003e 发布的源码至本地\u003c/li\u003e\n\u003cli\u003e打开终端，切换至项目根路径\u003c/li\u003e\n\u003cli\u003e运行 \u003ccode\u003epip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt\u003c/code\u003e 命令安装程序所需模块\u003c/li\u003e\n\u003cli\u003e运行 \u003ccode\u003emain.py\u003c/code\u003e 即可使用\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch1\u003e🛠 命令行模式\u003c/h1\u003e\n\u003cp\u003e项目支持命令行运行模式，若想要下载图文作品的部分图片，可以使用此模式设置需要下载的图片序号！\u003c/p\u003e\n\u003cp\u003e可以使用命令行 \u003cb\u003e从浏览器读取 Cookie 并写入配置文件！\u003c/b\u003e\u003c/p\u003e\n\u003cp\u003e命令示例：\u003ccode\u003epython .\\main.py --browser_cookie Chrome --update_settings\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003ebool\u003c/code\u003e 类型参数支持使用 \u003ccode\u003etrue\u003c/code\u003e、\u003ccode\u003efalse\u003c/code\u003e、\u003ccode\u003e1\u003c/code\u003e、\u003ccode\u003e0\u003c/code\u003e、\u003ccode\u003eyes\u003c/code\u003e、\u003ccode\u003eno\u003c/code\u003e、\u003ccode\u003eon\u003c/code\u003e 或 \u003ccode\u003eoff\u003c/code\u003e（不区分大小写）来设置。\u003c/p\u003e\n\u003chr\u003e\n\u003cimg src=\"static/screenshot/命令行模式截图CN1.png\" alt=\"\"\u003e\n\u003chr\u003e\n\u003cimg src=\"static/screenshot/命令行模式截图CN2.png\" alt=\"\"\u003e\n\u003ch1\u003e🖥 服务器模式\u003c/h1\u003e\n\u003cp\u003e\u003cb\u003e启动：\u003c/b\u003e运行命令：\u003ccode\u003epython .\\main.py server\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003cb\u003e关闭：\u003c/b\u003e按下 \u003ccode\u003eCtrl\u003c/code\u003e + \u003ccode\u003eC\u003c/code\u003e 关闭服务器\u003c/p\u003e\n\u003cp\u003e\u003cb\u003e请求接口：\u003c/b\u003e\u003ccode\u003e/xhs/\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003cb\u003e请求方法：\u003c/b\u003e\u003ccode\u003ePOST\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003cb\u003e请求格式：\u003c/b\u003e\u003ccode\u003eJSON\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003cb\u003e请求参数：\u003c/b\u003e\u003c/p\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth align=\"center\"\u003e参数\u003c/th\u003e\n\u003cth align=\"center\"\u003e类型\u003c/th\u003e\n\u003cth align=\"center\"\u003e含义\u003c/th\u003e\n\u003cth align=\"center\"\u003e默认值\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\"\u003eurl\u003c/td\u003e\n\u003ctd align=\"center\"\u003estr\u003c/td\u003e\n\u003ctd align=\"center\"\u003e小红书作品链接，自动提取，不支持多链接；必需参数\u003c/td\u003e\n\u003ctd align=\"center\"\u003e无\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\"\u003edownload\u003c/td\u003e\n\u003ctd align=\"center\"\u003ebool\u003c/td\u003e\n\u003ctd align=\"center\"\u003e是否下载作品文件；设置为 \u003ccode\u003etrue\u003c/code\u003e 将会耗费更多时间；可选参数\u003c/td\u003e\n\u003ctd align=\"center\"\u003efalse\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\"\u003eindex\u003c/td\u003e\n\u003ctd align=\"center\"\u003elist[int]\u003c/td\u003e\n\u003ctd align=\"center\"\u003e下载指定序号的图片文件，仅对图文作品生效；\u003ccode\u003edownload\u003c/code\u003e 参数设置为 \u003ccode\u003efalse\u003c/code\u003e 时不生效；可选参数\u003c/td\u003e\n\u003ctd align=\"center\"\u003enull\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\"\u003ecookie\u003c/td\u003e\n\u003ctd align=\"center\"\u003estr\u003c/td\u003e\n\u003ctd align=\"center\"\u003e请求数据时使用的 Cookie；可选参数\u003c/td\u003e\n\u003ctd align=\"center\"\u003e配置文件 Cookie 值\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\"\u003eskip\u003c/td\u003e\n\u003ctd align=\"center\"\u003ebool\u003c/td\u003e\n\u003ctd align=\"center\"\u003e是否跳过存在下载记录的作品；设置为 \u003ccode\u003etrue\u003c/code\u003e 将不会返回存在下载记录的作品数据；可选参数\u003c/td\u003e\n\u003ctd align=\"center\"\u003efalse\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003e\u003cb\u003e代码示例：\u003c/b\u003e\u003c/p\u003e\n\u003cpre\u003e\ndef api_demo():\n    server = \"http://127.0.0.1:8000/xhs/\"\n    data = {\n        \"url\": \"https://www.xiaohongshu.com/explore/123456789\",\n        \"download\": True,\n        \"index\": [\n            3,\n            6,\n            9,\n        ],\n    }\n    response = requests.post(server, json=data)\n    print(response.json())\n\u003c/pre\u003e\n\u003ch1\u003e📜 其他说明\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e由于作品链接携带日期信息，使用先前日期获取的作品链接可能会被风控，建议下载作品文件时使用最新获取的作品链接\u003c/li\u003e\n\u003cli\u003eWindows 系统需要以管理员身份运行程序才能读取 Chromium、Chrome、Edge 浏览器 Cookie\u003c/li\u003e\n\u003cli\u003e如果开启保存作品数据至文件功能，作品数据默认储存至 \u003ccode\u003e./Download/ExploreData.db\u003c/code\u003e 文件\u003c/li\u003e\n\u003cli\u003e程序下载记录数据储存至 \u003ccode\u003e./ExploreID.db\u003c/code\u003e 文件\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1 id=\"user-scripts\"\u003e🕹 用户脚本\u003c/h1\u003e\n\u003cp\u003e如果您的浏览器安装了 \u003ca href=\"https://www.tampermonkey.net/\"\u003eTampermonkey\u003c/a\u003e 浏览器扩展程序，可以添加 \u003ca href=\"https://raw.githubusercontent.com/JoeanAmier/XHS-Downloader/master/static/XHS-Downloader.js\"\u003e用户脚本\u003c/a\u003e，无需下载安装即可体验项目功能！\u003c/p\u003e\n\u003cimg src=\"static/screenshot/脚本安装教程.png\" alt=\"\"\u003e\n\u003cp\u003e脚本安装成功后，打开小红书页面，查看脚本说明，并根据提示操作。\u003c/p\u003e\n\u003cimg src=\"static/screenshot/用户脚本截图1.png\" alt=\"\"\u003e\n\u003chr\u003e\n\u003cimg src=\"static/screenshot/用户脚本截图2.png\" alt=\"\"\u003e\n\u003cp\u003e提示：使用 XHS-Downloader 用户脚本批量提取作品链接，搭配 XHS-Downloader 程序可以实现批量下载无水印作品文件！\u003c/p\u003e\n\u003ch2\u003e📜 脚本说明\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e下载小红书无水印作品文件时，脚本需要花费时间处理文件，请等待片刻，请勿多次点击下载按钮\u003c/li\u003e\n\u003cli\u003e无水印图片文件为 PNG 格式；无水印视频文件较大，可能需要较长的时间处理，页面跳转可能会导致下载失败\u003c/li\u003e\n\u003cli\u003e提取账号发布、收藏、点赞、专辑作品链接时，脚本可以自动滚动页面直至加载全部作品\u003c/li\u003e\n\u003cli\u003e提取推荐作品链接、搜索作品、用户链接时，脚本可以自动滚动指定次数加载更多内容，默认滚动次数：10 次\u003c/li\u003e\n\u003cli\u003e自动滚动页面功能默认关闭；用户可以自由开启，并修改滚动页面次数，修改后立即生效\u003c/li\u003e\n\u003cli\u003e如果未开启自动滚动页面功能，用户需要手动滚动页面以便加载更多内容后再进行其他操作\u003c/li\u003e\n\u003cli\u003e支持作品文件打包下载；该功能默认开启，多个文件的作品将会以压缩包格式下载\u003c/li\u003e\n\u003cli\u003e使用全局代理工具可能会导致脚本下载文件失败，如有异常，请尝试关闭代理工具，必要时向作者反馈\u003c/li\u003e\n\u003cli\u003eXHS-Downloader 用户脚本仅实现可见即可得的数据采集功能，无任何收费功能和破解功能\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e自动滚动页面功能代码已重构，该功能默认关闭！启用该功能可能会被小红书检测为自动化操作，从而导致账号受到风控或封禁风险！\u003c/strong\u003e\u003c/p\u003e\n\u003ch1\u003e💻 二次开发\u003c/h1\u003e\n\u003cp\u003e如果有其他需求，可以根据 \u003ccode\u003eexample.py\u003c/code\u003e 的注释提示进行代码调用或修改！\u003c/p\u003e\n\u003cpre\u003e\nasync def example():\n    \"\"\"通过代码设置参数，适合二次开发\"\"\"\n    # 示例链接\n    demo_link = \"https://www.xiaohongshu.com/explore/XXX?xsec_token=XXX\"\n    # 实例对象\n    work_path = \"D:\\\\\"  # 作品数据/文件保存根路径，默认值：项目根路径\n    folder_name = \"Download\"  # 作品文件储存文件夹名称（自动创建），默认值：Download\n    name_format = \"作品标题 作品描述\"\n    user_agent = \"\"  # User-Agent\n    cookie = \"\"  # 小红书网页版 Cookie，无需登录，可选参数，登录状态对数据采集有影响\n    proxy = None  # 网络代理\n    timeout = 5  # 请求数据超时限制，单位：秒，默认值：10\n    chunk = 1024 * 1024 * 10  # 下载文件时，每次从服务器获取的数据块大小，单位：字节\n    max_retry = 2  # 请求数据失败时，重试的最大次数，单位：秒，默认值：5\n    record_data = False  # 是否保存作品数据至文件\n    image_format = \"WEBP\"  # 图文作品文件下载格式，支持：PNG、WEBP\n    folder_mode = False  # 是否将每个作品的文件储存至单独的文件夹\n    image_download = True  # 图文作品文件下载开关\n    video_download = True  # 视频作品文件下载开关\n    live_download = False  # 图文动图文件下载开关\n    download_record = True  # 是否记录下载成功的作品 ID\n    language = \"zh_CN\"  # 设置程序提示语言\n    read_cookie = None  # 读取浏览器 Cookie，支持设置浏览器名称（字符串）或者浏览器序号（整数），设置为 None 代表不读取\n    # async with XHS() as xhs:\n    #     pass  # 使用默认参数\n    async with XHS(\n        work_path=work_path,\n        folder_name=folder_name,\n        name_format=name_format,\n        user_agent=user_agent,\n        cookie=cookie,\n        proxy=proxy,\n        timeout=timeout,\n        chunk=chunk,\n        max_retry=max_retry,\n        record_data=record_data,\n        image_format=image_format,\n        folder_mode=folder_mode,\n        image_download=image_download,\n        video_download=video_download,\n        live_download=live_download,\n        download_record=download_record,\n        language=language,\n        read_cookie=read_cookie,\n    ) as xhs:  # 使用自定义参数\n        download = True  # 是否下载作品文件，默认值：False\n        # 返回作品详细信息，包括下载地址\n        # 获取数据失败时返回空字典\n        print(await xhs.extract(demo_link, download, index=[1, 2]))\n\u003c/pre\u003e\n\u003ch1\u003e📋 读取剪贴板\u003c/h1\u003e\n\u003cp\u003e项目使用 \u003ccode\u003epyperclip\u003c/code\u003e 实现读取剪贴板功能，该模块在不同的系统上会有差异。\u003c/p\u003e\n\u003cp\u003e在 Windows 上，不需要额外的模块。\u003c/p\u003e\n\u003cp\u003e在 Mac 上，该模块使用 pbcopy 和 pbpaste 命令，这些命令应该随操作系统一起提供。\u003c/p\u003e\n\u003cp\u003e在 Linux 上，该模块使用 xclip 或 xsel 命令，这些命令应该随操作系统一起提供。否则，请运行 \"sudo apt-get install xclip\" 或 \"sudo apt-get install xsel\"（注意：xsel 似乎并不总是有效）\u003c/p\u003e\n\u003cp\u003e在其他 Linux 系统上，你需要安装 qtpy 或 PyQT5 模块。\u003c/p\u003e\n\u003ch1\u003e⚙️ 配置文件\u003c/h1\u003e\n\u003cp\u003e项目根目录下的 \u003ccode\u003esettings.json\u003c/code\u003e 文件，首次运行自动生成，可以自定义部分运行参数。\u003c/p\u003e\n\u003cp\u003e如果设置了无效的参数值，程序将会使用参数默认值！\u003c/p\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth align=\"center\"\u003e参数\u003c/th\u003e\n\u003cth align=\"center\"\u003e类型\u003c/th\u003e\n\u003cth align=\"center\"\u003e含义\u003c/th\u003e\n\u003cth align=\"center\"\u003e默认值\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\"\u003ework_path\u003c/td\u003e\n\u003ctd align=\"center\"\u003estr\u003c/td\u003e\n\u003ctd align=\"center\"\u003e作品数据 / 文件保存根路径\u003c/td\u003e\n\u003ctd align=\"center\"\u003e项目根路径\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\"\u003efolder_name\u003c/td\u003e\n\u003ctd align=\"center\"\u003estr\u003c/td\u003e\n\u003ctd align=\"center\"\u003e作品文件储存文件夹名称\u003c/td\u003e\n\u003ctd align=\"center\"\u003eDownload\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\"\u003ename_format\u003c/td\u003e\n\u003ctd align=\"center\"\u003estr\u003c/td\u003e\n\u003ctd align=\"center\"\u003e作品文件名称格式，字段之间使用空格分隔，支持字段：\u003ccode\u003e收藏数量\u003c/code\u003e、\u003ccode\u003e评论数量\u003c/code\u003e、\u003ccode\u003e分享数量\u003c/code\u003e、\u003ccode\u003e点赞数量\u003c/code\u003e、\u003ccode\u003e作品标签\u003c/code\u003e、\u003ccode\u003e作品ID\u003c/code\u003e、\u003ccode\u003e作品标题\u003c/code\u003e、\u003ccode\u003e作品描述\u003c/code\u003e、\u003ccode\u003e作品类型\u003c/code\u003e、\u003ccode\u003e发布时间\u003c/code\u003e、\u003ccode\u003e最后更新时间\u003c/code\u003e、\u003ccode\u003e作者昵称\u003c/code\u003e、\u003ccode\u003e作者ID\u003c/code\u003e\u003c/td\u003e\n\u003ctd align=\"center\"\u003e\u003ccode\u003e发布时间 作者昵称 作品标题\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\"\u003euser_agent\u003c/td\u003e\n\u003ctd align=\"center\"\u003estr\u003c/td\u003e\n\u003ctd align=\"center\"\u003e浏览器 User Agent\u003c/td\u003e\n\u003ctd align=\"center\"\u003e内置 Chrome User Agent\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\"\u003ecookie\u003c/td\u003e\n\u003ctd align=\"center\"\u003estr\u003c/td\u003e\n\u003ctd align=\"center\"\u003e小红书网页版 Cookie，\u003cb\u003e无需登录，非必需参数！\u003c/b\u003e\u003c/td\u003e\n\u003ctd align=\"center\"\u003e无\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\"\u003eproxy\u003c/td\u003e\n\u003ctd align=\"center\"\u003estr\u003c/td\u003e\n\u003ctd align=\"center\"\u003e设置程序代理\u003c/td\u003e\n\u003ctd align=\"center\"\u003enull\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\"\u003etimeout\u003c/td\u003e\n\u003ctd align=\"center\"\u003eint\u003c/td\u003e\n\u003ctd align=\"center\"\u003e请求数据超时限制，单位：秒\u003c/td\u003e\n\u003ctd align=\"center\"\u003e10\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\"\u003echunk\u003c/td\u003e\n\u003ctd align=\"center\"\u003eint\u003c/td\u003e\n\u003ctd align=\"center\"\u003e下载文件时，每次从服务器获取的数据块大小，单位：字节\u003c/td\u003e\n\u003ctd align=\"center\"\u003e2097152(2 MB)\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\"\u003emax_retry\u003c/td\u003e\n\u003ctd align=\"center\"\u003eint\u003c/td\u003e\n\u003ctd align=\"center\"\u003e请求数据失败时，重试的最大次数，单位：秒\u003c/td\u003e\n\u003ctd align=\"center\"\u003e5\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\"\u003erecord_data\u003c/td\u003e\n\u003ctd align=\"center\"\u003ebool\u003c/td\u003e\n\u003ctd align=\"center\"\u003e是否保存作品数据至文件，保存格式：\u003ccode\u003eSQLite\u003c/code\u003e\u003c/td\u003e\n\u003ctd align=\"center\"\u003efalse\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\"\u003eimage_format\u003c/td\u003e\n\u003ctd align=\"center\"\u003estr\u003c/td\u003e\n\u003ctd align=\"center\"\u003e图文作品文件下载格式，支持：\u003ccode\u003ePNG\u003c/code\u003e、\u003ccode\u003eWEBP\u003c/code\u003e\u003cbr\u003e\u003cstrong\u003e该参数影响下载图片时所用的接口，并非固定图片格式！\u003c/strong\u003e\u003c/td\u003e\n\u003ctd align=\"center\"\u003ePNG\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\"\u003eimage_download\u003c/td\u003e\n\u003ctd align=\"center\"\u003ebool\u003c/td\u003e\n\u003ctd align=\"center\"\u003e图文作品文件下载开关\u003c/td\u003e\n\u003ctd align=\"center\"\u003etrue\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\"\u003evideo_download\u003c/td\u003e\n\u003ctd align=\"center\"\u003ebool\u003c/td\u003e\n\u003ctd align=\"center\"\u003e视频作品文件下载开关\u003c/td\u003e\n\u003ctd align=\"center\"\u003etrue\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\"\u003elive_download\u003c/td\u003e\n\u003ctd align=\"center\"\u003ebool\u003c/td\u003e\n\u003ctd align=\"center\"\u003e图文动图文件下载开关\u003c/td\u003e\n\u003ctd align=\"center\"\u003efalse\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\"\u003efolder_mode\u003c/td\u003e\n\u003ctd align=\"center\"\u003ebool\u003c/td\u003e\n\u003ctd align=\"center\"\u003e是否将每个作品的文件储存至单独的文件夹；文件夹名称与文件名称保持一致\u003c/td\u003e\n\u003ctd align=\"center\"\u003efalse\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\"\u003edownload_record\u003c/td\u003e\n\u003ctd align=\"center\"\u003ebool\u003c/td\u003e\n\u003ctd align=\"center\"\u003e是否记录下载成功的作品 ID，如果开启，程序将会自动跳过下载存在记录的作品\u003c/td\u003e\n\u003ctd align=\"center\"\u003etrue\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\"\u003elanguage\u003c/td\u003e\n\u003ctd align=\"center\"\u003estr\u003c/td\u003e\n\u003ctd align=\"center\"\u003e设置程序语言，目前支持：\u003ccode\u003ezh_CN\u003c/code\u003e、\u003ccode\u003een_US\u003c/code\u003e\u003c/td\u003e\n\u003ctd align=\"center\"\u003ezh_CN\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003e\u003cb\u003e其他说明：\u003ccode\u003euser_agent\u003c/code\u003e参数获取示例；强烈建议根据实际浏览器信息进行设置！\u003c/b\u003e\u003c/p\u003e\n\u003cimg src=\"static/screenshot/请求头示例图.png\" alt=\"\"\u003e\n\u003ch1\u003e🌐 Cookie\u003c/h1\u003e\n\u003cp\u003e\u003ccode\u003e2.2\u003c/code\u003e 版本开始，项目功能无异常的情况下，无需额外处理 Cookie！\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e打开浏览器（可选无痕模式启动），访问 \u003ccode\u003ehttps://www.xiaohongshu.com/explore\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e登录小红书账号（可跳过）\u003c/li\u003e\n\u003cli\u003e按下 \u003ccode\u003eF12\u003c/code\u003e 打开开发人员工具\u003c/li\u003e\n\u003cli\u003e选择 \u003ccode\u003e网络\u003c/code\u003e 选项卡\u003c/li\u003e\n\u003cli\u003e勾选 \u003ccode\u003e保留日志\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e在 \u003ccode\u003e过滤\u003c/code\u003e 输入框输入 \u003ccode\u003ecookie-name:web_session\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e选择 \u003ccode\u003eFetch/XHR\u003c/code\u003e 筛选器\u003c/li\u003e\n\u003cli\u003e点击小红书页面任意作品\u003c/li\u003e\n\u003cli\u003e在 \u003ccode\u003e网络\u003c/code\u003e 选项卡选择任意数据包（如果无数据包，重复步骤7）\u003c/li\u003e\n\u003cli\u003e全选复制 Cookie 写入程序或配置文件\u003c/li\u003e\n\u003c/ol\u003e\n\u003cbr\u003e\n\u003cimg src=\"static/screenshot/获取Cookie示意图.png\" alt=\"\"\u003e\n\u003ch1\u003e🗳 下载记录\u003c/h1\u003e\n\u003cp\u003eXHS-Downloader 会将下载过的作品 ID 储存至数据库，当重复下载相同的作品时，XHS-Downloader 会自动跳过该作品的文件下载（即使作品文件不存在），如果想要重新下载作品文件，请先删除数据库中对应的作品 ID，再使用 XHS-Downloader 下载作品文件！\u003c/p\u003e\n\u003cp\u003e该功能默认开启，如果关闭该功能，XHS-Downloader 会检查文件是否存在，若文件存在则跳过下载！\u003c/p\u003e\n\n# 📦 构建可执行文件指南\n\n本指南将引导您通过 Fork 本仓库并执行 GitHub Actions 自动完成基于最新源码的程序构建和打包！\n\n---\n\n## 使用步骤\n\n### 1. Fork 本仓库\n\n1. 点击项目仓库右上角的 **Fork** 按钮，将本仓库 Fork 到您的个人 GitHub 账户中\n2. 您的 Fork 仓库地址将类似于：`https://github.com/your-username/this-repo`\n\n---\n\n### 2. 启用 GitHub Actions\n\n1. 前往您 Fork 的仓库页面\n2. 点击顶部的 **Settings** 选项卡\n3. 点击右侧的 **Actions** 选项卡\n4. 点击 **General** 选项\n5. 在 **Actions permissions** 下，选择 **Allow all actions and reusable workflows** 选项，点击 **Save** 按钮\n\n---\n\n### 3. 手动触发打包流程\n\n1. 在您 Fork 的仓库中，点击顶部的 **Actions** 选项卡\n2. 找到名为 **手动构建可执行文件** 的工作流\n3. 点击右侧的 **Run workflow** 按钮：\n    - 选择 **master** 或者 **develop** 分支\n    - 点击 **Run workflow**\n\n---\n\n### 4. 查看打包进度\n\n1. 在 **Actions** 页面中，您可以看到触发的工作流运行记录\n2. 点击运行记录，查看详细的日志以了解打包进度和状态\n\n---\n\n### 5. 下载打包结果\n\n1. 打包完成后，进入对应的运行记录页面\n2. 在页面底部的 **Artifacts** 部分，您将看到打包的结果文件\n3. 点击下载并保存到本地，即可获得打包好的程序\n\n---\n\n## 注意事项\n\n1. **资源使用**：\n    - Actions 的运行环境由 GitHub 免费提供，普通用户每月有一定的免费使用额度（2000 分钟）\n\n2. **代码修改**：\n    - 您可以自由修改 Fork 仓库中的代码以定制程序打包流程\n    - 修改后重新触发打包流程，您将得到自定义的构建版本\n\n3. **与主仓库保持同步**：\n    - 如果主仓库更新了代码或工作流，建议您定期同步 Fork 仓库以获取最新功能和修复\n\n---\n\n## Actions 常见问题\n\n### Q1: 为什么我无法触发工作流？\n\nA: 请确认您已按照步骤 **启用 Actions**，否则 GitHub 会禁止运行工作流\n\n### Q2: 打包流程失败怎么办？\n\nA:\n\n- 检查运行日志，了解失败原因\n- 确保代码没有语法错误或依赖问题\n- 如果问题仍未解决，可以在本仓库的 [Issues 页面](https://github.com/JoeanAmier/XHS-Downloader/issues) 提出问题\n\n### Q3: 我可以直接使用主仓库的 Actions 吗？\n\nA: 由于权限限制，您无法直接触发主仓库的 Actions。请通过 Fork 仓库的方式执行打包流程\n\n\u003ch1\u003e♥️ 支持项目\u003c/h1\u003e\n\u003cp\u003e如果 \u003cb\u003eXHS-Downloader\u003c/b\u003e 对您有帮助，请考虑为它点个 \u003cb\u003eStar\u003c/b\u003e ⭐，感谢您的支持！\u003c/p\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth align=\"center\"\u003e微信(WeChat)\u003c/th\u003e\n\u003cth align=\"center\"\u003e支付宝(Alipay)\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\u003ctr\u003e\n\u003ctd align=\"center\"\u003e\u003cimg src=\"./static/微信赞助二维码.png\" alt=\"微信赞助二维码\" height=\"200\" width=\"200\"\u003e\u003c/td\u003e\n\u003ctd align=\"center\"\u003e\u003cimg src=\"./static/支付宝赞助二维码.png\" alt=\"支付宝赞助二维码\" height=\"200\" width=\"200\"\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003e如果您愿意，可以考虑提供资助为 \u003cb\u003eXHS-Downloader\u003c/b\u003e 提供额外的支持！\u003c/p\u003e\n\u003ch1\u003e🌟 贡献指南\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003e欢迎对本项目做出贡献！为了保持代码库的整洁、高效和易于维护，请仔细阅读以下指南，以确保您的贡献能够顺利被接受和整合。\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e在开始开发前，请从 \u003ccode\u003edevelop\u003c/code\u003e 分支拉取最新的代码，以此为基础进行修改；这有助于避免合并冲突并保证您的改动基于最新的项目状态。\u003c/li\u003e\n\u003cli\u003e如果您的更改涉及多个不相关的功能或问题，请将它们分成多个独立的提交或拉取请求。\u003c/li\u003e\n\u003cli\u003e每个拉取请求应尽可能专注于单一功能或修复，以便于代码审查和测试。\u003c/li\u003e\n\u003cli\u003e遵循现有的代码风格；请确保您的代码与项目中已有的代码风格保持一致。\u003c/li\u003e\n\u003cli\u003e编写可读性强的代码；添加适当的注释帮助他人理解您的意图。\u003c/li\u003e\n\u003cli\u003e每个提交都应该包含一个清晰、简洁的提交信息，以描述所做的更改。提交信息应遵循以下格式：\u003ccode\u003e\u0026lt;类型\u0026gt;: \u0026lt;简短描述\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e当您准备提交拉取请求时，请优先将它们提交到 \u003ccode\u003edevelop\u003c/code\u003e 分支；这是为了给维护者一个缓冲区，在最终合并到 \u003ccode\u003emaster\u003c/code\u003e\n分支之前进行额外的测试和审查。\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e参考资料：\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.contributor-covenant.org/zh-cn/version/2/1/code_of_conduct/\"\u003e贡献者公约\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://opensource.guide/zh-hans/how-to-contribute/\"\u003e如何为开源做贡献\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e✉️ 联系作者\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e作者邮箱：yonglelolu@foxmail.com\u003c/li\u003e\n\u003cli\u003e作者微信: Downloader_Tools\u003c/li\u003e\n\u003cli\u003e微信公众号: Downloader Tools\u003c/li\u003e\n\u003cli\u003e\u003cb\u003eDiscord 社区\u003c/b\u003e: \u003ca href=\"https://discord.com/invite/ZYtmgKud9Y\"\u003e点击加入社区\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eQQ 群聊: \u003ca href=\"https://github.com/JoeanAmier/XHS-Downloader/blob/master/static/QQ%E7%BE%A4%E8%81%8A%E4%BA%8C%E7%BB%B4%E7%A0%81.png\"\u003e扫码加入群聊\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cb\u003e说明：\u003c/b\u003eQQ 群聊仅限于讨论项目使用问题，严禁发布任何广告，严禁讨论任何账号交易、账号流量、流量变现、灰色产业等相关的内容！\u003c/p\u003e\n\u003cp\u003e✨ \u003cb\u003e作者的其他开源项目：\u003c/b\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cb\u003eTikTokDownloader（抖音 / TikTok）\u003c/b\u003e：\u003ca href=\"https://github.com/JoeanAmier/TikTokDownloader\"\u003ehttps://github.com/JoeanAmier/TikTokDownloader\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cb\u003eKS-Downloader（快手）\u003c/b\u003e：\u003ca href=\"https://github.com/JoeanAmier/KS-Downloader\"\u003ehttps://github.com/JoeanAmier/KS-Downloader\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e💰 项目赞助\u003c/h1\u003e\n\u003cimg src=\"https://resources.jetbrains.com/storage/products/company/brand/logos/PyCharm.svg\" alt=\"PyCharm logo\"\u003e\n\u003cp\u003e\u003cb\u003eJetBrains\u003c/b\u003e 支持全球开源社区认可的活跃项目，并为非商业开发提供免费许可证。\u003c/p\u003e\n\u003ch1\u003e⚠️ 免责声明\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e使用者对本项目的使用由使用者自行决定，并自行承担风险。作者对使用者使用本项目所产生的任何损失、责任、或风险概不负责。\u003c/li\u003e\n\u003cli\u003e本项目的作者提供的代码和功能是基于现有知识和技术的开发成果。作者尽力确保代码的正确性和安全性，但不保证代码完全没有错误或缺陷。\u003c/li\u003e\n\u003cli\u003e使用者在使用本项目时必须严格遵守 \u003ca href=\"https://github.com/JoeanAmier/XHS-Downloader/blob/master/LICENSE\"\u003eGNU\n    General Public License v3.0\u003c/a\u003e 的要求，并在适当的地方注明使用了 \u003ca\n        href=\"https://github.com/JoeanAmier/XHS-Downloader/blob/master/LICENSE\"\u003eGNU General Public License\n    v3.0\u003c/a\u003e 的代码。\n\u003c/li\u003e\n\u003cli\u003e使用者在任何情况下均不得将本项目的作者、贡献者或其他相关方与使用者的使用行为联系起来，或要求其对使用者使用本项目所产生的任何损失或损害负责。\u003c/li\u003e\n\u003cli\u003e使用者在使用本项目的代码和功能时，必须自行研究相关法律法规，并确保其使用行为合法合规。任何因违反法律法规而导致的法律责任和风险，均由使用者自行承担。\u003c/li\u003e\n\u003cli\u003e本项目的作者不会提供 XHS-Downloader 项目的付费版本，也不会提供与 XHS-Downloader 项目相关的任何商业服务。\u003c/li\u003e\n\u003cli\u003e基于本项目进行的任何二次开发、修改或编译的程序与原创作者无关，原创作者不承担与二次开发行为或其结果相关的任何责任，使用者应自行对因二次开发可能带来的各种情况负全部责任。\u003c/li\u003e\n\u003c/ul\u003e\n\u003cb\u003e在使用本项目的代码和功能之前，请您认真考虑并接受以上免责声明。如果您对上述声明有任何疑问或不同意，请不要使用本项目的代码和功能。如果您使用了本项目的代码和功能，则视为您已完全理解并接受上述免责声明，并自愿承担使用本项目的一切风险和后果。\u003c/b\u003e\n\n# 💡 项目参考\n\n* https://github.com/encode/httpx/\n* https://github.com/tiangolo/fastapi\n* https://github.com/textualize/textual/\n* https://github.com/omnilib/aiosqlite\n* https://github.com/thewh1teagle/rookie\n* https://github.com/carpedm20/emoji/\n* https://github.com/asweigart/pyperclip\n* https://github.com/lxml/lxml\n* https://github.com/yaml/pyyaml\n* https://github.com/pallets/click/\n* https://github.com/encode/uvicorn\n* https://github.com/Tinche/aiofiles\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJoeanAmier%2FXHS-Downloader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FJoeanAmier%2FXHS-Downloader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJoeanAmier%2FXHS-Downloader/lists"}