- ✅ 下载快手无水印作品文件
- ☑️ 下载快手作品封面图片
- ☑️ 下载快手作品音乐文件
- ✅ 自动跳过已下载的作品文件
- ✅ 作品文件完整性处理机制
- ✅ 持久化储存作品信息至文件
- ✅ 记录已下载作品 ID
- ✅ 支持文件断点续传下载
- ✅ 作品文件储存至单独文件夹
- ✅ 自定义作品文件名称格式
- ✅ 从浏览器读取 Cookie
- ☑️ 后台监听剪贴板下载作品
- ☑️ 支持命令行下载作品文件
- ☑️ 支持 API 调用功能
⭐ KS-Downloader 开发计划及进度可前往 Projects 查阅
Mac OS、Windows 10 及以上用户可前往 Releases 下载程序压缩包,解压后打开程序文件夹,双击运行 main
即可使用。
注意:Mac OS 平台可执行文件 main
可能需要从终端命令行启动;受设备限制,Mac OS 平台可执行文件尚未经过测试,无法保证可用性!
若通过此方式使用程序,文件默认下载路径为:.\_internal\Download
;配置文件路径为:.\_internal\config.yaml
- 安装版本号不低于
3.12
的 Python 解释器 - 下载本项目最新的源码或 Releases 发布的源码至本地
- 打开终端,切换至项目根路径
- 运行
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
命令安装程序所需模块 - 运行
main.py
即可使用
- 获取镜像
- 方式一:使用
Dockerfile
文件构建镜像 - 方式二:使用
docker pull joeanamier/ks-downloader
命令拉取镜像 - 创建容器:
docker run -it joeanamier/ks-downloader
- 运行容器
- 启动容器:
docker start -i 容器名称/容器 ID
- 重启容器:
docker restart -i 容器名称/容器 ID
- 启动容器:
Docker 运行项目时不支持 从浏览器读取 Cookie,无法使用 监听剪贴板 功能,可以正常粘贴内容,其他功能如有异常请反馈!
https://www.kuaishou.com/f/分享码
https://v.kuaishou.com/分享码
https://www.kuaishou.com/short-video/作品ID
https://kuaishou.cn/short-video/作品ID
推荐使用分享链接;支持单次输入多个作品链接,链接之间使用空格分隔。
⭐ 推荐使用 Windows 终端 (Windows 11 默认终端)运行程序以便获得最佳显示效果!
- Windows 系统需要以管理员身份运行程序才能读取 Chromium、Chrome、Edge 浏览器 Cookie
项目根目录下的 config.yaml
文件,首次运行自动生成,可以自定义部分运行参数。
如果项目功能无法正常使用,请尝试配置 Cookie 后再使用!
参数 | 类型 | 含义 | 默认值 |
---|---|---|---|
work_path | str | 作品数据 / 文件保存根路径 | 项目根路径 |
folder_name | str | 作品文件储存文件夹名称 | Download |
name_format | str | 作品文件名称格式,使用空格分隔字段;支持字段:作品类型 、作者昵称 、作者ID 、作品描述 、作品ID 、发布日期 |
发布日期 作者昵称 作品描述 |
cookie | str | 快手网页版 Cookie,无需登录 | 动态获取 |
proxy | str | 设置程序代理 | null |
download_record | bool | 是否记录已下载作品 ID,如果启用,将会自动跳过已下载的作品 | true |
data_record | bool | 是否保存作品数据至文件,文件类型:SQLite |
false |
max_workers | int | 同时下载作品文件的最大任务数 | 4 |
str | 作品封面下载格式,支持:JPEG 、WEBP ;设置为空字符串代表不下载 |
空字符串 | |
bool | 是否下载作品音乐 | false | |
max_retry | int | 请求数据失败时,重试的最大次数,单位:秒 | 5 |
timeout | int | 请求数据超时限制,单位:秒 | 10 |
chunk | int | 下载文件时,每次从服务器获取的数据块大小,单位:字节 | 2097152(2 MB) |
folder_mode | bool | 是否将每个作品的文件储存至单独的文件夹;文件夹名称与文件名称保持一致 | false |
- 使用者对本项目的使用由使用者自行决定,并自行承担风险。作者对使用者使用本项目所产生的任何损失、责任、或风险概不负责。
- 本项目的作者提供的代码和功能是基于现有知识和技术的开发成果。作者尽力确保代码的正确性和安全性,但不保证代码完全没有错误或缺陷。
- 使用者在使用本项目时必须严格遵守 GNU General Public License v3.0 的要求,并在适当的地方注明使用了 GNU General Public License v3.0 的代码。
- 使用者在任何情况下均不得将本项目的作者、贡献者或其他相关方与使用者的使用行为联系起来,或要求其对使用者使用本项目所产生的任何损失或损害负责。
- 使用者在使用本项目的代码和功能时,必须自行研究相关法律法规,并确保其使用行为合法合规。任何因违反法律法规而导致的法律责任和风险,均由使用者自行承担。
- 本项目的作者不会提供 KS-Downloader 项目的付费版本,也不会提供与 KS-Downloader 项目相关的任何商业服务。
- 基于本项目进行的任何二次开发、修改或编译的程序与原创作者无关,原创作者不承担与二次开发行为或其结果相关的任何责任,使用者应自行对因二次开发可能带来的各种情况负全部责任。
- 作者邮箱:[email protected]
- 作者微信: Downloader_Tools
- 微信公众号: Downloader Tools
- Discord 社区: 点击加入社区
✨ 作者的其他开源项目:
- TikTokDownloader(抖音、TikTok):https://github.com/JoeanAmier/TikTokDownloader
- XHS-Downloader(小红书):https://github.com/JoeanAmier/XHS-Downloader
如果 KS-Downloader 对您有帮助,请考虑为它点个 Star ⭐,感谢您的支持!
微信(WeChat) | 支付宝(Alipay) |
---|---|
如果您愿意,可以考虑提供资助为 KS-Downloader 提供额外的支持!
JetBrains 支持全球开源社区认可的活跃项目,并为非商业开发提供免费许可证。
- https://github.com/moyada/stealer
- https://github.com/encode/httpx/
- https://github.com/Textualize/rich
- https://github.com/Tinche/aiofiles
- https://github.com/omnilib/aiosqlite
- https://github.com/pyinstaller/pyinstaller
- https://github.com/thewh1teagle/rookie
- https://github.com/lxml/lxml
- https://github.com/yaml/pyyaml
- https://github.com/carpedm20/emoji/