Files
tiktok/README.md

371 lines
14 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
![项目图](https://tvax2.sinaimg.cn/large/006908GAly1hgn9zod1yuj30zk0hstmf.jpg)
<h1 align="center">✨ 抖音去水印作品下载 ✨</h1>
<div align="center">
[English](README-EN.md) | 简体中文
[![License: MIT](https://img.shields.io/github/license/johnserf-seed/tiktokdownload?style=for-the-badge)](https://github.com/Johnserf-Seed/TikTokDownload/blob/main/LICENSE)
![Release Download](https://img.shields.io/github/downloads/Johnserf-Seed/TikTokDownload/total?style=for-the-badge)
![GitHub Repo size](https://img.shields.io/github/repo-size/Johnserf-Seed/TikTokDownload?style=for-the-badge&color=3cb371)
[![GitHub Repo Languages](https://img.shields.io/github/languages/top/Johnserf-Seed/TikTokDownload?style=for-the-badge)](https://github.com/BeyondDimension/SteamTools/search?l=c%23)
[![Python v3.11.1](https://img.shields.io/badge/python-v3.11.1-orange?style=for-the-badge)](https://github.com/Johnserf-Seed/TikTokDownload)
![Terminal: wt](https://img.shields.io/badge/Terminal-wt-blue?style=for-the-badge)
[![GitHub Stars](https://img.shields.io/github/stars/johnserf-seed/tiktokdownload?style=social)](https://github.com/Johnserf-Seed/TikTokDownload)
[![GitHub Forks](https://img.shields.io/github/forks/johnserf-seed/tiktokdownload?style=social)](https://github.com/Johnserf-Seed/TikTokDownload)
[![GitHub Issues](https://img.shields.io/github/issues/johnserf-seed/tiktokdownload?style=social)](https://github.com/Johnserf-Seed/TikTokDownload)
[![GitHub Closed Issues](https://img.shields.io/github/issues-closed/johnserf-seed/tiktokdownload?style=social)](https://github.com/Johnserf-Seed/TikTokDownload)
[![F2 Downloads](https://pepy.tech/badge/f2/month)](https://pepy.tech/project/f2)
[![PyPI version](https://badge.fury.io/py/f2.svg)](https://badge.fury.io/py/f2)
[![jsDelivr monthly hits](https://data.jsdelivr.com/v1/package/gh/Johnserf-Seed/TikTokDownload/badge)](https://www.jsdelivr.com/package/gh/Johnserf-Seed/TikTokDownload)
[![Hits](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FJohnserf-Seed%2FTikTokDownload&count_bg=%235FFFFF&title_bg=%23FB1953&icon=tiktok.svg&icon_color=%23250C1F&title=view&edge_flat=false)](https://hits.seeyoufarm.com)
[![TikHub](https://img.shields.io/badge/%E8%B5%9E%E5%8A%A9%E5%95%86-TikHub-orange?style=flat-square&logo=tiktok)](https://beta-web.tikhub.io/users/signup?referral_code=6hLcGD94)
[![Discord](https://img.shields.io/discord/1146473603450282004?color=5865F2&logo=discord&logoColor=white?style=for-the-badge)](https://discord.gg/3PhtPmgHf8)
[![Patreon](https://img.shields.io/badge/Patreon-TikTokDownload-red.svg?style=flat&logo=patreon)](https://www.patreon.com/TikTokDownload713)
</div>
## 🚀 环境准备/Environment
> [![Microsoft 应用商店](https://tvax1.sinaimg.cn/large/006908GAly1hgn87jhad8j305001qa9y.jpg)](https://aka.ms/terminal)
>
> 旧的控制台无法很好适配推荐使用Windows Terminal。
>
> [![Python v3.11.1](https://www.python.org/static/img/python-logo.png)](https://www.python.org/ftp/python/3.11.1/python-3.11.1-amd64.exe)
>
> Python3.11.1 低于该版本可能会有意外的错误
>
> [![GitHub 发行版](https://tvax2.sinaimg.cn/large/006908GAly1hh16psn51aj30a5020gly.jpg)](https://github.com/Johnserf-Seed/TikTokDownload/releases/tag/v1.4.2.2)
>
> 更新F2前的最后一个发行版下载
<details><summary> ⚙ Windows Terminal 设置(必看) </summary>
![wt配置](https://github.com/Johnserf-Seed/TikTokDownload/assets/40727745/997b6fc2-586e-4268-bee8-43bb8d68622c)
</details>
## 🧰 功能/Features
- DouYin 接口全新Abogus
- ✅ 用户信息。
- ✅ 查询用户信息。
- ✅ 下载发布作品。
- ✅ 下载收藏作品。
- ✅ 下载收藏原声。
- ✅ 下载喜欢作品。
- ✅ 下载图集作品。
- ✅ 下载短剧作品。
- ✅ 下载作品封面。
- ✅ 下载作品文案。
- ✅ 下载作品原声。
- ✅ 下载直播。
- ✅ 下载合集作品。
- ⌛ 下载关注作品。
- ✅ 关注用户信息。
- ✅ 粉丝用户信息。
- ✅ 下载好友作品。
- ✅ 下载首页推荐作品。
- ✅ 下载相关推荐作品。
- ⌛ 提取评论。
- ✅ 详细直播间信息。
- ✅ 关注用户开播状态。
- ✅ 直播间弹幕负载数据。
- ✅ 直播间弹幕采集。
- ✅ 详细用户信息。
- TikTok 接口
- ✅ 下载发布作品。
- ✅ 下载收藏作品。
- ✅ 下载喜欢作品。
- ✅ 下载图集作品。
- ✅ 下载作品封面。
- ✅ 下载作品文案。
- ✅ 下载作品原声。
- ✅ 下载播放列表。
- ✅ 下载合集作品。
- ✅ 下载搜索作品。
- ⌛ 下载关注作品。
- ⌛ 下载好友作品。
- ⌛ 下载推荐作品。
- ⌛ 下载相关推荐作品。
- ⌛ 提取评论。
- ✅ 详细直播间信息。
- ✅ 直播间开播状态。
- ⌛ 直播间弹幕发言。
- ✅ 详细用户信息。
- 更多接口,请查阅 [「F2开发者接口」](https://johnserf-seed.github.io/f2/guide/apps/douyin/)
- 异步下载
- ✅ 同时处理和下载多个作品,提高效率。
- ✅ 异步线程,减轻系统压力减少接口出错。
- ✅ 网络并发数,减少被服务器校验。
- ✅ 超时重试设置,降低采集错误率。
- Cookie
- ✅ 使用--auto-cookie自动从浏览器获取cookie。
- 接口数据模型
- ✅ 开箱即用的接口参数配置,提供完整参数生成。
- 请查阅[「使用接口模型生成XB参数」](https://johnserf-seed.github.io/f2/guide/apps/douyin/#%E4%BD%BF%E7%94%A8%E6%8E%A5%E5%8F%A3%E6%A8%A1%E5%9E%8B%E7%94%9F%E6%88%90xb%E5%8F%82%E6%95%B0-%F0%9F%9F%A2)
- 请查阅[「使用接口模型生成AB参数」](https://johnserf-seed.github.io/f2/guide/apps/douyin/#%E4%BD%BF%E7%94%A8%E6%8E%A5%E5%8F%A3%E6%A8%A1%E5%9E%8B%E7%94%9F%E6%88%90ab%E5%8F%82%E6%95%B0-%F0%9F%9F%A2)
- 接口数据过滤器
- ✅ 通过过滤接口数据,提高采集与数据处理效率。
- 请查阅[「过滤器采集数据」](https://johnserf-seed.github.io/f2/guide/apps/douyin/#%E4%BD%BF%E7%94%A8%E6%8E%A5%E5%8F%A3%E6%A8%A1%E5%9E%8B%E7%94%9F%E6%88%90xb%E5%8F%82%E6%95%B0-%F0%9F%9F%A2)
- 更多功能
- ✅ 长短链解析。
- ✅ 自定义保存目录。
- ✅ 是否下载原声。
- ✅ 是否下载封面。
- ✅ 是否下载文案。
- ✅ 单次下载作品数量。
- ✅ 单次返回作品数量。
- ✅ 自定义文件名模板。
- ✅ 代理设置。
- ✅ 指定下载时间区间。
- ✅ 提取单个/列表用户id。
- ✅ 提取单个/列表作品id。
- ✅ 提取单个/列表合集id。
- ✅ 提取单个/列表直播间rid。
- ✅ 原声json歌词转lrc歌词。
- ⌛ 设定下载作品点赞阈值。
- ⌛ 设定下载作品播放阈值。
- 更多配置文件操作,请查阅[「F2配置文件」](https://johnserf-seed.github.io/f2/site-config.html)
- 多用户配置
- ✅ 对不同用户建立不同配置与不同的下载模式。
- ✅ 灵活的cli模式方便用户快速切换配置。
- ⌛ 灵活的webui模式方便用户快速切换配置。
- 版本更新
- ✅ 全新开发 F2 依赖pip进行升级
- ✅ 自动检查 pypi 上的最新版本
- 文件检查
- ✅ 下载文件前检查文件是否已经存在,避免重复下载。
- ⌛ 添加”黑名单“,不检查这些作品是否存在。
- 命令行交互
- ✅ 提供cli模式与开发者模式
- ⌛ 提供webui模式
- ⌛ 提供本地接口转发,方便部署调用。
- 自动重命名
- ✅ 无需关心用户是否改名,从而造成重复下载。
- ⌛ 无需关心作品是否改文案,从而造成重复下载。
- 本地加密参数调用
- ✅ ABogus(dy)
- ✅ XBogus(dy、tk)
- ✅ verifyFp(dy)
- ✅ s_v_web_id(dy)
- ✅ ttwid(dy、tk)
- ✅ web_id(dy)
- ✅ _signature(dy)
- ✅ x-tt-params(tk)
- ✅ msToken(dy、tk)
- ✅ odin_tt(tk)
- ✅ device_Id(tk)
## 💡 待办/ToDo
- 创建自动化任务
- [更多请查看项目板](https://github.com/users/Johnserf-Seed/projects/1/views/1)
## 🖥 支持的操作系统/Supported Operating Systems
<details>
<summary> TikTokDownload 1.6 / F2 0.0.1.6-pw2 支持的操作系统列表 </summary>
- Windows 11
- Windows 10 版本 1809OS 内部版本 17763或更高版本
- macOS Monterey12.0)或更高版本
- macOS Big Sur11.0)或更高版本
- macOS Catalina10.15)或更高版本
- Ubuntu 20.04 LTS 或更高版本
- Debian 10 或更高版本
- CentOS 7 或更高版本
- Fedora 34 或更高版本
- Deepin (UOS) 20 或更高版本
</details>
## 📥 安装与运行/Installation and Running
1. **📦 安装/Installation**
请查阅 [「安装」](https://johnserf-seed.github.io/f2/install.html)
2. **▶️ 运行/Running**
请查阅 [「配置文件」](https://johnserf-seed.github.io/f2/install.html)
3. **🔬 测试/Test**
在 F2 安装目录打开终端运行,如果配置正确那么你不会看见报错。
```bash
python -m pytest
```
## 📸 运行过程/Running Process
<details>
<summary> 🎬 无配置文件扫码登录 </summary>
https://user-images.githubusercontent.com/40727745/fc1e6c46-d0c3-4f2a-a4a5-ca3d781e7d11
</details>
<details>
<summary> 🎬 主页作品下载 </summary>
https://user-images.githubusercontent.com/40727745/12c21d55-b629-485a-b904-54d86341c371
</details>
更多运行过程请查阅 [「F2 readme」](https://github.com/Johnserf-Seed/f2/blob/main/README.md)
## 🗂️ 项目结构/Folder
<details>
<summary>📁 目录</summary>
```bash
├─ .github
│ └─ ISSUE_TEMPLATE
│ ├── --------.md
│ └── -------.md
├─ API
│ ├── TikTokTool.txt
│ ├── user_base_info.json
│ ├── user_post_delete.json
│ ├── user_post_detail.json
│ ├── user_post_info_image.json
│ ├── user_post_info_video.json
│ └── user_profile_info.json
├─ GUI(待重构)
│ ├── Main.ui
│ ├── preview.png
│ ├── README-EN.md
│ ├── README.md
│ ├── requirements.txt
│ ├── resource.py
│ └── Resource.qrc
└─ Server
└─ algorithm
├── build-win.bat
├── package.json
├── requirements.txt
├── Server.py
├── Server.txt
├── s_v_web_id.js
├── s_v_web_id.py
├── x-bogus.js
└── x-tt-params.js
├─ .gitignore
├─ Banner.png
├─ build-win.bat
├─ Dockerfile
├─ LICENSE
├─ f2-logo.ico
├─ README-EN.md
├─ README.md
├─ requirements.txt
├─ run-server.bat
├─ run-server.sh
├─ TikTokTool.py
├─ version
└─ _config.yml
```
</details>
## 💖 赞赏/Sponsor
<a href="https://tikhub.io/"><img style="border-radius:20px" src="https://github.com/Johnserf-Seed/f2/assets/40727745/70a67dd1-dccb-44a9-b635-c29a950f1daf"></a>
[TikHub](https://tikhub.io/) 是一家提供优质数据接口服务的供应商。通过每日签到,可以获取免费额度。可以使用我的注册邀请链接:[https://beta-web.tikhub.io/users/signup?referral_code=6hLcGD94](https://beta-web.tikhub.io/users/signup?referral_code=6hLcGD94) 或 邀请码:`6hLcGD94`,注册并充值即可获得`$2`额度。
[TikHub](https://tikhub.io/) 提供以下服务:
- 丰富的数据接口
- 每日签到免费获取额度
- 高质量的API服务
- 官网https://tikhub.io/
- 项目地址https://github.com/TikHubIO/
![赞赏](https://user-images.githubusercontent.com/40727745/217866800-23980dc1-f3ce-4bc7-b192-518651fef8da.png)
感谢对本项目的支持!如果您觉得这个项目有帮助,欢迎赞助。您可以直接访问我们的 [![Patreon](https://img.shields.io/badge/Patreon-F2-red.svg?style=flat&logo=patreon)](https://www.patreon.com/F2_pypi)
## 📧 联系/Contact
如果有任何问题或者建议,可以通过邮箱联系我:
- 邮箱:[johnserf-seed@foxmail.com](mailto:johnserf-seed@foxmail.com)
## 🙏 鸣谢/Acknowledgments
- [Windows Terminal](https://aka.ms/terminal)
- [Python](https://www.python.org/)
- [httpx](https://github.com/encode/httpx)
- [click](https://github.com/pallets/click)
- [aiofiles](https://github.com/Tinche/aiofiles)
- [aiosqlite](https://github.com/omnilib/aiosqlite)
- [rich](https://github.com/willmcgugan/rich)
- [qrcode](https://github.com/lincolnloop/python-qrcode)
- [pyyaml](hhttps://github.com/yaml/pyyaml)
- [jsonpath-ng](https://github.com/h2non/jsonpath-ng)
- [m3u8](https://github.com/globocom/m3u8)
- [pytest](https://github.com/pytest-dev/pytest)
对于他们的贡献和努力,表示由衷的感谢。
## ⚖️ 免责声明/Disclaimer
此项目不出售、共享、加密、上传、研究任何个人信息。此项目及其相关代码仅供学习与研究使用,不构成任何明示或暗示的保证。使用者因使用此项目及其代码可能造成的任何形式的损失,作者不承担任何责任。
## 📜 版权声明/LICENSE
MIT License
Copyright (c) 2021 JohnserfSeed
此项目的源代码在 MIT 许可证下授权,有关详细信息,请参阅 [LICENSE](LICENSE) 文件。
## 📝 贡献者守则/CoC
此项目欢迎所有的贡献者。我们希望能够创建一个友好的环境,让每个人都能在尊重和理解的氛围中共同工作。在参与贡献之前,请参阅我们的 [贡献者守则](CODE_OF_CONDUCT.md)。
## 👨‍💻贡献者/Contributors
我们欢迎任何形式的贡献,无论是提交错误报告,提出改进意见,或者是提供代码和文档。我们都欣赏你的帮助。
![Contributors](https://contributors-img.web.app/image?repo=Johnserf-Seed/TikTokDownload)