Code Monkey home page Code Monkey logo

tiktokdownload's Introduction

项目图

✨ 抖音去水印作品下载 ✨

English | 简体中文

License: MIT Release Download GitHub Repo size GitHub Repo Languages Python v3.11.1 Terminal: wt

GitHub Stars GitHub Forks GitHub Issues GitHub Closed Issues

F2 Downloads PyPI version jsDelivr monthly hits Hits Discord Patreon

🚀 环境准备/Environment

Microsoft 应用商店

旧的控制台无法很好适配,推荐使用Windows Terminal。

Python v3.11.1

Python3.11.1 低于该版本可能会有意外的错误

GitHub 发行版

发行版下载 每次Commits之后会重新打包

⚙ Windows Terminal 设置(必看)

wt配置

🧰 功能/Features

  • DouYin 接口

    • ✅ 下载发布作品。
    • ✅ 下载收藏作品。
    • ✅ 下载喜欢作品。
    • ✅ 下载图集作品。
    • ✅ 下载作品封面。
    • ✅ 下载作品文案。
    • ✅ 下载作品原声。
    • ✅ 下载直播。
    • ✅ 下载合集作品。
    • ⌛ 下载关注作品。
    • ⌛ 下载好友作品。
    • ⌛ 下载推荐作品。
    • ⌛ 下载相关推荐作品。
    • ⌛ 提取评论。
    • ✅ 详细直播间信息。
    • ⌛ 直播间弹幕发言。
    • ✅ 详细用户信息。
  • TikTok 接口

    • ✅ 下载发布作品。
    • ✅ 下载收藏作品。
    • ✅ 下载喜欢作品。
    • ✅ 下载图集作品。
    • ✅ 下载作品封面。
    • ✅ 下载作品文案。
    • ✅ 下载作品原声。
    • ✅ 下载合集作品。
    • ⌛ 下载关注作品。
    • ⌛ 下载好友作品。
    • ⌛ 下载推荐作品。
    • ⌛ 下载相关推荐作品。
    • ⌛ 提取评论。
    • ⌛ 详细直播间信息。
    • ⌛ 直播间弹幕发言。
    • ✅ 详细用户信息。
  • 更多接口,请查阅 「F2开发者接口」

  • 异步下载

    • ✅ 同时处理和下载多个作品,提高效率。
    • ✅ 异步线程,减轻系统压力减少接口出错。
    • ✅ 网络并发数,减少被服务器校验
    • ✅ 超时重试设置,降低采集错误率。
  • Cookie

    • ✅ SSO扫码登录。
    • ✅ 使用--auto-cookie自动从浏览器获取cookie。
  • 接口数据模型

  • 接口数据过滤器

  • 更多功能

    • ✅ 长短链解析。

    • ✅ 自定义保存目录。

    • ✅ 是否下载原声。

    • ✅ 是否下载封面。

    • ✅ 是否下载文案。

    • ✅ 单次下载作品数量。

    • ✅ 单次返回作品数量。

    • ✅ 自定义文件名模板。

    • ✅ 代理设置。

    • ✅ 指定下载时间区间。

    • ⌛ 设定下载作品点赞阈值。

    • ⌛ 设定下载作品播放阈值。

    • 更多配置文件操作,请查阅「F2配置文件」

  • 多用户配置

    • ✅ 对不同用户建立不同配置与不同的下载模式。
    • ✅ 灵活的cli模式,方便用户快速切换配置。
    • ⌛ 灵活的webui模式,方便用户快速切换配置。
  • 版本更新

    • ✅ 全新开发 F2 依赖pip进行升级
  • 文件检查

    • ✅ 下载文件前检查文件是否已经存在,避免重复下载。
    • ⌛ 添加”黑名单“,不检查这些作品是否存在。
  • 命令行交互

    • ✅ 提供cli模式与开发者模式
    • ⌛ 提供webui模式
  • 自动重命名

    • ✅ 无需关心用户是否改名,从而造成重复下载。
    • ⌛ 无需关心作品是否改文案,从而造成重复下载。
  • 本地加密参数调用

    • ✅ XBogus(dy、tk)
    • ✅ verifyFp(dy)
    • ✅ s_v_web_id(dy)
    • ✅ ttwid(dy、tk)
    • ✅ x-tt-params(tk)
    • ✅ msToken(dy、tk)
    • ✅ odin_tt(tk)

💡 待办/ToDo

🖥 支持的操作系统/Supported Operating Systems

TikTokDownload 1.5 / F2 0.0.1-pw1 支持的操作系统列表
  • Windows 11
  • Windows 10 版本 1809(OS 内部版本 17763)或更高版本
  • macOS Monterey(12.0)或更高版本
  • macOS Big Sur(11.0)或更高版本
  • macOS Catalina(10.15)或更高版本
  • Ubuntu 20.04 LTS 或更高版本
  • Debian 10 或更高版本
  • CentOS 7 或更高版本
  • Fedora 34 或更高版本
  • Deepin (UOS) 20 或更高版本

📥 安装与运行/Installation and Running

  1. 📦 安装/Installation

    请查阅 「安装」

  2. ▶️ 运行/Running

    请查阅 「配置文件」

  3. 🔬 测试/Test

    在 F2 安装目录打开终端运行,如果配置正确那么你不会看见报错。

    python -m pytest

📸 运行过程/Running Process

🎬 无配置文件扫码登录
default.mp4
🎬 主页作品下载
default.mp4

🗂️ 项目结构/Folder

📁 目录
├─ .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

💖 赞赏/Sponsor

赞赏

感谢对本项目的支持!如果您觉得这个项目有帮助,欢迎赞助。您可以直接访问我们的 Patreon

📧 联系/Contact

如果有任何问题或者建议,可以通过邮箱联系我:

🙏 鸣谢/Acknowledgments

对于他们的贡献和努力,表示由衷的感谢。

⚖️ 免责声明/Disclaimer

此项目不出售、共享、加密、上传、研究任何个人信息。此项目及其相关代码仅供学习与研究使用,不构成任何明示或暗示的保证。使用者因使用此项目及其代码可能造成的任何形式的损失,作者不承担任何责任。

📜 版权声明/LICENSE

MIT License

Copyright (c) 2021 JohnserfSeed

此项目的源代码在 MIT 许可证下授权,有关详细信息,请参阅 LICENSE 文件。

📝 贡献者守则/CoC

此项目欢迎所有的贡献者。我们希望能够创建一个友好的环境,让每个人都能在尊重和理解的氛围**同工作。在参与贡献之前,请参阅我们的 贡献者守则

👨‍💻贡献者/Contributors

我们欢迎任何形式的贡献,无论是提交错误报告,提出改进意见,或者是提供代码和文档。我们都欣赏你的帮助。

Contributors

tiktokdownload's People

Contributors

daymade avatar dependabot[bot] avatar geek-prince avatar johnserf-seed avatar xqm32 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tiktokdownload's Issues

批量下载

可以按照搜索关键字批量下载吗,我尝试了,只可以按照复制链接

大神能不能搞个热榜批量下载。

大神能不能搞一个热榜批量下载,推荐页视频下载,还有用户新增视频下载。
如果用户更新了视频,要再下载的话,还得再全部下载一遍。

Max retries exceeded with url

下载速度很慢,在下载了几个视频之后会报如下的错误。
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='v.douyin.com', port=443): Max retries exceeded with url:

系统环境:
Mac OS Catalina
Pycharm 21
Python 3.6.3

批量视频下载不了

每一次都是跳过 提示该音频目前不可用
image
下载的抖音主页有200个视频,最多只能下载120个,会自动跳过。即使是可以在抖音里保存的,也不可能批量爬下来。
就是一直报错,提示该音频目前不可用

批量下载视频数量不全

使用您的项目下载了几个用户发布的视频,发现实际下载数量比发布的总数量少了三分之一
image

Metadata by Username

Hello Johnserf-Seed,

Thank you for your work!

Is it possible to have only the metadata of TikToks by Username?
Like all the data from Milo大人 ... video title, text, music title, artist name, likes_counts, views_counts, comment_counts, etc?

Please can you provide one clear example?

谢谢!

最大下载能否超过33个

首先谢谢作者的工作,撒花!!!

有些关注人的作品超过了33个,只能下载到最后30个了
如果能改进一下就好了

感激不尽

uid = https://v.douyin.com/enTq3rp/, 'status_msg': '参数不合法' KeyError: 'aweme_list'

conf.ini

[url]
#用户主页
uid = https://v.douyin.com/enTq3rp/
[music]
#音频下载
musicarg = no

[count]
#单页下载个数 Max = 35 (无需改动)
count = 35

[save]
#保存位置 你喜欢的名字
url = /Users/Downloads/Tiktok/

[mode]
#下载模式选择 like为点赞 post为发布
mode = post

python3 exmple.py
##############################################################################################################

                                            TikTokDownload V1.2.2
使用说明:
        1、运行软件前先打开目录下 conf.ini 文件按照要求进行配置
        2、批量下载可直接修改配置文件,单一视频下载请直接打开粘贴视频链接即可
        3、如有您有任何bug或者意见反馈请在 https://github.com/Johnserf-Seed/TikTokDownload/issues 发起
        4、后续可能会更新GUI界面,操作更简单

注意:  单个视频链接与用户主页链接要分清,软件闪退可以通过终端运行查看报错信息(一般是链接弄错的问题)

##############################################################################################################

批量下载直接回车,单一视频下载直接粘贴视频链接:
----读取配置完成----
----为您下载多个视频----
----用户的sec_id=MS4wLjABAAAApfaNtDyykDbhylYUr5nkGjEiitEw_-mzElieQwC-cWf----
----正在进行第 1 次尝试----
html: {'extra': {'logid': '202107220837360102111780820248F1C2', 'now': 1626914256000}, 'status_code': 5, 'status_msg': '参数不合法'}
Traceback (most recent call last):
File "/Users/Downloads/TikTokDownload-main/exmple.py", line 4, in
MTK.TikTok()
File "/Users/Downloads/TikTokDownload-main/TikTokMulti.py", line 95, in init
self.judge_link()
File "/Users/Downloads/TikTokDownload-main/TikTokMulti.py", line 132, in judge_link
self.get_data(api_post_url,max_cursor)
File "/Users/Downloads/TikTokDownload-main/TikTokMulti.py", line 150, in get_data
if html['aweme_list'] != []:
KeyError: 'aweme_list'

建议完善一下重复下载机制

如果是下载用户主页所有视频的话,可不可以增加以下两个功能:

  1. 增加视频是否已下载判断功能,避免重新下载视频
  2. 如果连续5(可自由设置)个视频都已下载过,就跳出下载循环。实现增量下载。

想请教很基本的问题

我下载好软件后双击打开conf 是Notepad软件打开的,和你用的软件感觉不一样没问题吗?

然后想下载的视频uid放进去,还有保存位置在桌面的话怎么填写?
其他的地方不知道要改哪里,所以准备不动。

下面就不知道怎么做了。是用特殊的软件打开TikTokDownload软件吗?
.py 的文件是用编写python的软件打开吗?

我等大家的回复

无法下载无法保存抖音视频

大佬,其实很多视频,在抖音上无法保存,所以导致爬虫无法爬取。
但是我知道一个网站,他可以保存下载抖音视频。只需要链接即可。
无论是否可以在抖音上保存。都可以下载。
https://vtool.pro
我想大佬你这个爬虫代码,可不可有这样的功能。
https://v.douyin.com/epjBcGV/
这个抖音链接放在爬虫代码里,会直接报错的,但是放在我发的那个网站,他就可以直接下载了。
能不能优化一下代码。

现在无法批量下载了

我已经在配置文件中,已经设置好链接,可是现在下载不了,都是单一视频下载了。现在无法批量下载了
image
image

增加功能

1.希望加上时间排序2.希望能下载到不分享的3.批量下载指定人的喜欢收藏,比如自己的

最新版本V1.2:exe和py两种形式皆报错

1.exe形式

1.1执行V1.2的TikTokMulti.exe
顺利开始下载本项目所预设之抖音账号:https://v.douyin.com/JcjJ5Tq/

1.2一旦更改其他账号,则开始闪退
更改流程:用notepad++
1.2.1若转为UTF-8编码格式,则exe文件直接打不开,闪退
1.2.2若转为UTF-8-无BOM格式,则可以打开exe文件,但是按下回车后开始报错闪退。因为闪退,所以始终看不清报了什么错

2.py形式
直接下载source code.zip 解压
运行TikTokMulti.py文件

Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

C:\Users\hp>D:\douyin\004\TikTokMulti.py
Traceback (most recent call last):
File "D:\douyin\004\TikTokMulti.py", line 13, in
import TikTokDownload
File "D:\douyin\004\TikTokDownload.py", line 12, in
from retrying import retry
ModuleNotFoundError: No module named 'retrying'

C:\Users\hp>

3.回忆
上个版本也是无法使用exe形式
然后某一天有一个contribution留言说改一行代码可以突破33个下载数量
于是我就把那行代码改在上个版本的py文件
然后再把那个py文件打包成exe,一直用到2021/07/17,总共下载了45G喜欢的博主的视频
我也是一直搞不明白这一切的疑惑

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.