TikTok 数据采集工具/下载工具
🔥 TikTok 发布/喜欢/合辑/直播/视频/图集/音乐;抖音发布/喜欢/收藏/收藏夹/视频/图集/实况/直播/音乐/合集/评论/账号/搜索/热榜数据采集工具:完全开源,基于 HTTPX 模块实现的免费数据采集和文件下载工具;批量下载抖音账号发布、喜欢、收藏、收藏夹作品;批量下载 TikTok 账号发布、喜欢作品;下载抖音链接或 TikTok 链接作品;获取抖音直播推流地址;下载抖音直播视频;获取 TikTok 直播推流地址;下载 TikTok 直播视频;采集抖音作品评论数据;批量下载抖音合集作品;批量下载 TikTok 合辑作品;采集抖音账号详细数据;采集抖音用户 / 作品 / 直播搜索结果;采集抖音热榜数据。
⭐ 本项目历史名称:TikTokDownloader
📝 项目功能
功能列表(点击展开)
💻 程序截图
前往 bilibili 观看演示;前往 YouTube 观看演示
终端交互模式
建议通过配置文件管理账号,更多介绍请查阅 文档
Web UI 交互模式
项目代码已重构,该模式代码尚未更新,未来开发完成重新开放!
Web API 接口模式
启动该模式后,访问
http://127.0.0.1:5555/docs或者http://127.0.0.1:5555/redoc可以查阅自动生成的文档!
API 调用示例代码
from httpx import post
from rich import print
def demo():
headers = {"token": ""}
data = {
"detail_id": "0123456789",
"pages": 2,
}
api = "http://127.0.0.1:5555/douyin/comment"
response = post(api, json=data, headers=headers)
print(response.json())
demo()📋 项目说明
快速入门
⭐ Mac OS、Windows 10 及以上用户可前往 Releases 或者 Actions 下载已编译的程序,开箱即用!
⭐ 本项目包含自动构建可执行文件的 GitHub Actions,使用者可以随时使用 GitHub Actions 将最新源码构建为可执行文件!
⭐ 自动构建可执行文件教程请查阅本文档的 构建可执行文件指南 部分;如果需要更加详细的图文教程,请 查阅文章!
注意:Mac OS 平台可执行文件 main 可能需要从终端命令行启动;受设备限制,Mac OS 平台可执行文件尚未经过测试,无法保证可用性!
运行可执行文件 或者 配置环境运行
运行可执行文件
下载 Releases 或者 Actions 构建的可执行文件压缩包
解压后打开程序文件夹,双击运行
main
配置环境运行
安装
3.12版本的 Python 解释器下载最新的源码或 Releases 发布的源码至本地
运行
python -m venv venv命令创建虚拟环境(可选)运行
.\venv\Scripts\activate.ps1或者venv\Scripts\activate命令激活虚拟环境(可选)运行
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt命令安装程序所需模块运行
python .\main.py或者python main.py命令启动 DouK-Downloader
阅读 DouK-Downloader 的免责声明,根据提示输入内容
将 Cookie 信息写入配置文件
从剪贴板读取 Cookie
参考 Cookie 提取教程,复制所需 Cookie 至剪贴板
选择
从剪贴板读取 Cookie选项,程序会自动读取剪贴板的 Cookie 并写入配置文件
从浏览器读取 Cookie
选择
从浏览器读取 Cookie选项,按照提示输入浏览器类型或序号
扫码登录获取 Cookie(失效)选择扫码登录获取 Cookie选项,程序会显示登录二维码图片,并使用默认应用打开图片使用抖音 APP 扫描二维码并登录账号按照提示操作,程序会自动将 Cookie 写入配置文件
返回程序界面,依次选择
终端交互模式->批量下载链接作品(通用)->手动输入待采集的作品链接输入抖音作品链接即可下载作品文件(TikTok 平台需要更多初始设置,详见文档)
更多详细说明请查看 项目文档
⭐ 推荐使用 Windows 终端(Windows 11 自带默认终端)
Docker 容器
获取镜像
方式一:使用
Dockerfile文件构建镜像方式二:使用
docker pull joeanamier/tiktok-downloader命令拉取镜像方式三:使用
docker pull ghcr.io/joeanamier/tiktok-downloader命令拉取镜像
创建容器:
docker run --name 容器名称(可选) -p 主机端口号:5555 -v tiktok_downloader_volume:/app/Volume -it <镜像名称>
注意:此处的<镜像名称>需与您在第一步中使用的镜像名称保持一致(例如joeanamier/tiktok-downloader或ghcr.io/joeanamier/tiktok-downloader)运行容器
启动容器:
docker start -i 容器名称/容器 ID重启容器:
docker restart -i 容器名称/容器 ID
Docker 容器无法直接访问宿主机的文件系统,部分功能不可用,例如:从浏览器读取 Cookie;其他功能如有异常请反馈!
关于 Cookie
Cookie 仅需在失效后重新写入配置文件,并非每次运行程序都要写入配置文件!
Cookie 会影响下载的视频文件分辨率,如果无法下载最高分辨率的视频文件,请尝试更新 Cookie!
程序获取数据失败时,可以尝试更新 Cookie 或者使用已登录的 Cookie!
其他说明
程序提示用户输入时,直接回车代表返回上级菜单,输入
Q或q代表结束运行由于获取账号喜欢作品和收藏作品数据仅返回喜欢 / 收藏作品的发布日期,不返回操作日期,因此程序需要获取全部喜欢 / 收藏作品数据再进行日期筛选;如果作品数量较多,可能会花费较长的时间;可通过
max_pages参数控制请求次数获取私密账号的发布作品数据需要登录后的 Cookie,且登录的账号需要关注该私密账号
批量下载账号作品或合集作品时,如果对应的昵称或标识发生变化,程序会自动更新已下载作品文件名称中的昵称和标识
程序下载文件时会先将文件下载至临时文件夹,下载完成后再移动至储存文件夹;程序运行结束时会清空临时文件夹
批量下载收藏作品模式目前仅支持下载当前已登录 Cookie 对应账号的收藏作品,暂不支持多账号如果想要程序使用代理请求数据,必须在
settings.json设置proxy参数,否则程序不会使用代理如果您的计算机没有合适的程序编辑 JSON 文件,建议使用 JSON 在线工具 编辑配置文件内容
当程序请求用户输入内容或链接时,请注意避免输入的内容或链接包含换行符,这可能会导致预期之外的问题
本项目不会支持付费作品下载,请勿反馈任何关于付费作品下载的问题
Windows 系统需要以管理员身份运行程序才能读取 Chromium、Chrome、Edge 浏览器 Cookie
本项目并未针对程序多开的情况进行优化,如需程序多开,请复制整个项目的文件夹,避免出现预期之外的问题
程序运行过程中,如需终止程序或
ffmpeg,请按下Ctrl + C终止运行,不要直接点击终端窗口的关闭按钮
构建可执行文件指南
构建可执行文件指南(点击展开)
程序更新
方案一:下载并解压文件,将旧版本的 _internal\Volume 文件夹复制到新版本的 _internal 文件夹。
方案二:下载并解压文件(不要运行程序),复制全部文件,直接覆盖旧版本文件。
⚠️ 免责声明
使用者对本项目的使用由使用者自行决定,并自行承担风险。作者对使用者使用本项目所产生的任何损失、责任、或风险概不负责。
本项目的作者提供的代码和功能是基于现有知识和技术的开发成果。作者按现有技术水平努力确保代码的正确性和安全性,但不保证代码完全没有错误或缺陷。
本项目依赖的所有第三方库、插件或服务各自遵循其原始开源或商业许可,使用者需自行查阅并遵守相应协议,作者不对第三方组件的稳定性、安全性及合规性承担任何责任。
使用者在使用本项目时必须严格遵守 GNU General Public License v3.0 的要求,并在适当的地方注明使用了 GNU General Public License v3.0 的代码。
使用者在使用本项目的代码和功能时,必须自行研究相关法律法规,并确保其使用行为合法合规。任何因违反法律法规而导致的法律责任和风险,均由使用者自行承担。
使用者不得使用本工具从事任何侵犯知识产权的行为,包括但不限于未经授权下载、传播受版权保护的内容,开发者不参与、不支持、不认可任何非法内容的获取或分发。
本项目不对使用者涉及的数据收集、存储、传输等处理活动的合规性承担责任。使用者应自行遵守相关法律法规,确保处理行为合法正当;因违规操作导致的法律责任由使用者自行承担。
使用者在任何情况下均不得将本项目的作者、贡献者或其他相关方与使用者的使用行为联系起来,或要求其对使用者使用本项目所产生的任何损失或损害负责。
本项目的作者不会提供 DouK-Downloader 项目的付费版本,也不会提供与 DouK-Downloader 项目相关的任何商业服务。
基于本项目进行的任何二次开发、修改或编译的程序与原创作者无关,原创作者不承担与二次开发行为或其结果相关的任何责任,使用者应自行对因二次开发可能带来的各种情况负全部责任。
本项目不授予使用者任何专利许可;若使用本项目导致专利纠纷或侵权,使用者自行承担全部风险和责任。未经作者或权利人书面授权,不得使用本项目进行任何商业宣传、推广或再授权。
作者保留随时终止向任何违反本声明的使用者提供服务的权利,并可能要求其销毁已获取的代码及衍生作品。
作者保留在不另行通知的情况下更新本声明的权利,使用者持续使用即视为接受修订后的条款。
在使用本项目的代码和功能之前,请您认真考虑并接受以上免责声明。如果您对上述声明有任何疑问或不同意,请不要使用本项目的代码和功能。如果您使用了本项目的代码和功能,则视为您已完全理解并接受上述免责声明,并自愿承担使用本项目的一切风险和后果。




