Skip to content

JoeanAmier/KS-Downloader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TikTokDownloader

KS-Downloader

GitHub GitHub forks GitHub Repo stars GitHub code size in bytes
Static Badge GitHub release (with filter) GitHub all releases

🔥 快手作品下载工具:完全免费开源,基于 HTTPX 模块实现,下载快手无水印视频、图片文件!

⭐ 本项目完全免费开源,无任何收费功能,请勿上当受骗!


📑 项目功能

  • ✅ 下载快手无水印作品文件
  • ☑️ 下载快手作品封面图片
  • ☑️ 下载快手作品音乐文件
  • ✅ 自动跳过已下载的作品文件
  • ✅ 作品文件完整性处理机制
  • ✅ 持久化储存作品信息至文件
  • ✅ 记录已下载作品 ID
  • ✅ 支持文件断点续传下载
  • ✅ 作品文件储存至单独文件夹
  • ✅ 自定义作品文件名称格式
  • ✅ 从浏览器读取 Cookie
  • ☑️ 后台监听剪贴板下载作品
  • ☑️ 支持命令行下载作品文件
  • ☑️ 支持 API 调用功能

⭐ KS-Downloader 开发计划及进度可前往 Projects 查阅

📸 程序截图

🎥 点击图片观看演示视频


🥣 使用方法

🖱 程序运行

⭐ Mac OS、Windows 10 及以上用户可前往 Releases 下载程序压缩包,解压后打开程序文件夹,双击运行 main 即可使用。

⭐ 本项目包含手动构建可执行文件的 GitHub Actions,使用者可以随时使用 GitHub Actions 将最新源码构建为可执行文件!

注意:Mac OS 平台可执行文件 main 可能需要从终端命令行启动;受设备限制,Mac OS 平台可执行文件尚未经过测试,无法保证可用性!

若通过此方式使用程序,文件默认下载路径为:.\_internal\Download;配置文件路径为:.\_internal\config.yaml

程序更新

方案一: 下载并解压文件,将旧版本的 KS-Downloader.db 文件和 config.yaml 文件复制到 _internal 文件夹。

方案二: 下载并解压文件(不要运行程序),复制全部文件,直接覆盖旧版本文件。

⌨️ 源码运行

  1. 安装版本号为 3.12 的 Python 解释器
  2. 下载本项目最新的源码或 Releases 发布的源码至本地
  3. 打开终端,切换至项目根路径
  4. 运行 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt 命令安装程序所需模块
  5. 运行 main.py 即可使用

⌨️ Docker 运行

  1. 获取镜像
    • 方式一:使用 Dockerfile 文件构建镜像
    • 方式二:使用 docker pull joeanamier/ks-downloader 命令拉取镜像
  2. 创建容器:docker run -it joeanamier/ks-downloader
  3. 运行容器
    • 启动容器: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
  • https://live.kuaishou.com/u/作者ID/作品ID

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

🪟 关于终端

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

📜 其他说明

  • Windows 系统需要以管理员身份运行程序才能读取 Chromium、Chrome、Edge 浏览器 Cookie
  • 如果开启保存作品数据至文件功能,作品数据默认储存至 ./Data/DetailData.db 文件
  • 程序设置、下载记录数据储存至 ./KS-Downloader.db 文件

⚙️ 配置文件

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

如果项目功能无法正常使用,请尝试配置 Cookie 后再使用!

参数 类型 含义 默认值
work_path str 作品数据 / 文件保存根路径 项目根路径
folder_name str 作品文件储存文件夹名称 Download
name_format str 作品文件名称格式,使用空格分隔字段;支持字段:作品类型作者昵称作者ID作品描述作品ID发布日期 发布日期 作者昵称 作品描述
cookie str 快手网页版 Cookie,无需登录 动态获取
proxy str 设置程序代理 null
data_record bool 是否保存作品数据至文件,文件类型:SQLite false
max_workers int 同时下载作品文件的最大任务数 4
cover str 作品封面下载格式,支持:JPEGWEBP;设置为空字符串代表不下载 空字符串
music bool 是否下载作品音乐 false
max_retry int 请求数据失败时,重试的最大次数,单位:秒 5
timeout int 请求数据超时限制,单位:秒 10
chunk int 下载文件时,每次从服务器获取的数据块大小,单位:字节 2097152(2 MB)
folder_mode bool 是否将每个作品的文件储存至单独的文件夹;文件夹名称与文件名称保持一致 false

📦 手动构建可执行文件指南

本指南将引导您通过 Fork 本仓库并执行 GitHub Actions 自动完成基于最新源码的程序构建和打包!


使用步骤

1. Fork 本仓库

  1. 点击项目仓库右上角的 Fork 按钮,将本仓库 Fork 到您的个人 GitHub 账户中
  2. 您的 Fork 仓库地址将类似于:https://github.com/your-username/this-repo

2. 启用 GitHub Actions

  1. 前往您 Fork 的仓库页面
  2. 点击顶部的 Settings 选项卡
  3. 点击右侧的 Actions 选项卡
  4. 点击 General 选项
  5. Actions permissions 下,选择 Allow all actions and reusable workflows 选项,点击 Save 按钮

3. 手动触发打包流程

  1. 在您 Fork 的仓库中,点击顶部的 Actions 选项卡
  2. 找到名为 手动构建可执行文件 的工作流
  3. 点击右侧的 Run workflow 按钮:
    • 选择 master 或者 develop 分支
    • 点击 Run workflow

4. 查看打包进度

  1. Actions 页面中,您可以看到触发的工作流运行记录
  2. 点击运行记录,查看详细的日志以了解打包进度和状态

5. 下载打包结果

  1. 打包完成后,进入对应的运行记录页面
  2. 在页面底部的 Artifacts 部分,您将看到打包的结果文件
  3. 点击下载并保存到本地,即可获得打包好的程序

注意事项

  1. 资源使用

    • Actions 的运行环境由 GitHub 免费提供,普通用户每月有一定的免费使用额度(2000 分钟)
  2. 代码修改

    • 您可以自由修改 Fork 仓库中的代码以定制程序打包流程
    • 修改后重新触发打包流程,您将得到自定义的构建版本
  3. 与主仓库保持同步

    • 如果主仓库更新了代码或工作流,建议您定期同步 Fork 仓库以获取最新功能和修复

Actions 常见问题

Q1: 为什么我无法触发工作流?

A: 请确认您已按照步骤 启用 Actions,否则 GitHub 会禁止运行工作流

Q2: 打包流程失败怎么办?

A:

  • 检查运行日志,了解失败原因
  • 确保代码没有语法错误或依赖问题
  • 如果问题仍未解决,可以在本仓库的 Issues 页面 提出问题

Q3: 我可以直接使用主仓库的 Actions 吗?

A: 由于权限限制,您无法直接触发主仓库的 Actions。请通过 Fork 仓库的方式执行打包流程

⚠️ 免责声明(Disclaimers)

  • 使用者对本项目的使用由使用者自行决定,并自行承担风险。作者对使用者使用本项目所产生的任何损失、责任、或风险概不负责。
  • 本项目的作者提供的代码和功能是基于现有知识和技术的开发成果。作者尽力确保代码的正确性和安全性,但不保证代码完全没有错误或缺陷。
  • 使用者在使用本项目时必须严格遵守 GNU General Public License v3.0 的要求,并在适当的地方注明使用了 GNU General Public License v3.0 的代码。
  • 使用者在任何情况下均不得将本项目的作者、贡献者或其他相关方与使用者的使用行为联系起来,或要求其对使用者使用本项目所产生的任何损失或损害负责。
  • 使用者在使用本项目的代码和功能时,必须自行研究相关法律法规,并确保其使用行为合法合规。任何因违反法律法规而导致的法律责任和风险,均由使用者自行承担。
  • 本项目的作者不会提供 KS-Downloader 项目的付费版本,也不会提供与 KS-Downloader 项目相关的任何商业服务。
  • 基于本项目进行的任何二次开发、修改或编译的程序与原创作者无关,原创作者不承担与二次开发行为或其结果相关的任何责任,使用者应自行对因二次开发可能带来的各种情况负全部责任。
在使用本项目的代码和功能之前,请您认真考虑并接受以上免责声明。如果您对上述声明有任何疑问或不同意,请不要使用本项目的代码和功能。如果您使用了本项目的代码和功能,则视为您已完全理解并接受上述免责声明,并自愿承担使用本项目的一切风险和后果。

✉️ 联系作者(Contact)

作者的其他开源项目:

♥️ 支持项目(Support)

如果 KS-Downloader 对您有帮助,请考虑为它点个 Star ⭐,感谢您的支持!

微信(WeChat) 支付宝(Alipay)
微信赞助二维码 支付宝赞助二维码

如果您愿意,可以考虑提供资助为 KS-Downloader 提供额外的支持!

🌟 贡献指南(Contribute)

欢迎对本项目做出贡献!为了保持代码库的整洁、高效和易于维护,请仔细阅读以下指南,以确保您的贡献能够顺利被接受和整合。

  • 在开始开发前,请从 develop 分支拉取最新的代码,以此为基础进行修改;这有助于避免合并冲突并保证您的改动基于最新的项目状态。
  • 如果您的更改涉及多个不相关的功能或问题,请将它们分成多个独立的提交或拉取请求。
  • 每个拉取请求应尽可能专注于单一功能或修复,以便于代码审查和测试。
  • 遵循现有的代码风格;请确保您的代码与项目中已有的代码风格保持一致。
  • 编写可读性强的代码;添加适当的注释帮助他人理解您的意图。
  • 每个提交都应该包含一个清晰、简洁的提交信息,以描述所做的更改。提交信息应遵循以下格式:<类型>: <简短描述>
  • 当您准备提交拉取请求时,请优先将它们提交到 develop 分支;这是为了给维护者一个缓冲区,在最终合并到 master 分支之前进行额外的测试和审查。

参考资料:

💰 项目赞助(Sponsor)

PyCharm logo

JetBrains 支持全球开源社区认可的活跃项目,并为非商业开发提供免费许可证。

💡 项目参考(Refer)