诚信为本,市场在变,诚信永远不变...
  咨询电话:400-123-4567

公司新闻

GitHub _4

English | 简体中文

「Douyin_TikTok_Download_API」是一个开箱即用的高性能异步抖音|TikTok|Bilibili数据爬取工具,支持API调用,在线批量解析及下载。

GitHub license Release Version GitHub Star GitHub Fork GitHub issues GitHub closed issues GitHub Repo size
PyPI v PyPI wheel PyPI dm PyPI pyversions
API status TikHub-API status
爱发电 Kofi Patreon

感兴趣的给请加微信备注github项目重构,目前需要有爬虫/后端/全栈开发,如果你不具备相关技术栈也可以进来,主要是想着拉一个群然后大家可以在群里互相交流学习,不允许发广告以及违法的东西,纯粹交朋友和技术交流。

如需使用私有服务器运行本项目,请参考部署方式[Docker部署, 一键部署]

本项目是基于 PyWebIOFastAPIAIOHTTP,快速异步的抖音/TikTok/Bilibili数据爬取工具,并通过Web端实现在线批量解析以及下载无水印视频或图集,数据爬取API,iOS快捷指令无水印下载等功能。你可以自己部署或改造本项目实现更多功能,也可以在你的项目中直接调用scraper.py或安装现有的pip包作为解析库轻松爬取数据等.....

一些简单的运用场景:

下载禁止下载的视频,进行数据分析,iOS无水印下载(搭配iOS自带的快捷指令APP 配合本项目API实现应用内下载或读取剪贴板下载)等.....

TikHub-API: 支持用户主页爬取该作者[主页视频数据(去水印链接, 已点赞视频列表(权限需为公开), 视频评论数据, 背景音乐视频列表数据, 等等...), 详细信息请查看TikHub-API文档,此外TikHub-API对比本项目API在抓取TikTok数据时,TikHub-API速度更快。

Web APP: https://douyin.wtf/

API Document: https://api.douyin.wtf/docs

TikHub API Document: https://api.tikhub.io/docs

iOS Shortcut(快捷指令): Shortcut release

?桌面端下载器(仓库推荐):

基于本项目的其他仓库

scraper.py:

  • 向[Douyin|TikTok]的API提交请求并取回数据,处理后返回字典(dict),支持异步。

web_api.py:

  • 获得请求参数并使用类处理数据后以JSON形式返回,视频下载,配合iOS快捷指令实现快速调用,支持异步。

web_app.py:

  • 为以及制作的简易Web程序,将网页输入的值进行处理后使用类处理并配合的接口输出在网页上(类似前后端分离)

以上文件的参数大多可在config.ini中进行修改

  • 抖音(抖音海外版: TikTok)视频/图片解析
  • Bilibili视频解析
  • 西瓜视频解析
  • 快手视频解析
  • 网页端批量解析(支持抖音/TikTok混合提交)
  • 网页端解析结果页批量下载无水印视频(V3.X以上版本移除,请自行部署V2.X版本)
  • API调用获取链接数据
  • 制作pip包方便快速导入你的项目
  • iOS快捷指令快速调用API实现应用内下载无水印视频/图集
  • 解析作者主页内所有视频(TikHub-API 支持抖音/TikTok)
  • 解析视频内所有评论信息(TikHub-API 支持抖音/TikTok)

欢迎提出建议或直接提交PR至此仓库 ?(?ω?)?)

  • 编写一个桌面端的异步下载器实现本地批量下载
  • TikHub-API添加对hash_tag页面的数据爬取 #101
  • 对其他短视频平台添加支持,如:抖音火山版,快手,西瓜视频,哔哩哔哩

PyPi:https://pypi.org/project/douyin-tiktok-scraper/

安装解析库:

import asyncio
from douyin_tiktok_scraper.scraper import Scraper

api = Scraper()

async def hybrid_parsing(url: str) -> dict:
    # Hybrid parsing(Douyin/TikTok URL)
    result = await api.hybrid_parsing(url)
    print(f"The hybrid parsing result:
 {result}")
    return result

asyncio.run(hybrid_parsing(url=input("Paste Douyin/TikTok/Bilibili share URL here: ")))

提示:包含但不仅限于以下例子,如果遇到链接解析失败请开启一个新 issue

  • 快手视频链接
  • 西瓜视频链接
  • Bilibili视频链接
  • 抖音分享口令 (APP内复制)
  • 抖音短网址 (APP内复制)
  • 抖音正常网址 (网页版复制)
  • 抖音发现页网址 (APP复制)
  • TikTok短网址 (APP内复制)
  • TikTok正常网址 (网页版复制)
  • 抖音/TikTok批量网址(无需使用符合隔开)

提示:也可以在web_api.py的代码注释中查看接口文档

API文档:

本地:http://localhost:8000/docs

在线:https://api.douyin.wtf/docs

TikHub-API文档:

在线:https://api.tikhub.io/docs

API演示:

  • 爬取视频数据(TikTok或Douyin混合解析)
  • 下载视频/图集(TikTok或Douyin混合解析)
  • 替换域名下载视频/图集

更多演示请查看文档内容......

提示:最好将本项目部署至美国地区的服务器,否则可能会出现奇怪的BUG。

推荐大家使用Digitalocean的服务器,主要是因为免费。

使用我的邀请链接注册,你可以获得$200的credit,当你在上面消费$25时,我也可以获得$25的奖励。

我的邀请链接:

https://m.do.co/c/9f72a27dec35

使用脚本一键部署本项目

  • 使用wget命令下载install.sh至服务器并运行
Please edit config.ini, all input must be numbers!
Default API port: 8000
If you want use different port input new API port here: 80
Use new port for web_api.py: 80
Default API rate limit: 10/minute
If you want use different rate limit input new rate limit here: 60
Use new rate limit: 60/minute
Default App port: 80
If you want use different port input new App port here: 8080
Use new port: 8080
  • 随后脚本会询问你要启动的服务

api:单独启动

web:单独启动

all:同时启动和

Run API or Web? [api/web/all/quit] api
Do you want to start the api service when system boot? [y/n] y
Created symlink /etc/systemd/system/multi-user.target.wants/web_api.service → /etc/systemd/system/web_api.service.
API service will start when system boot!
Starting API...
API is running! You can visit http://your_ip:port
You can stop the api service by running: systemctl stop web_api.service

开启/停止服务

  • web服务:
  • api服务:

开启/关闭开机自动运行

  • web服务:
  • api服务:

更新项目

Docker Image repo: Docker Hub

  • 安装docker
curl -fsSL get.docker.com -o get-docker.sh&&sh get-docker.sh &&systemctl enable docker&&systemctl start docker
  • 留下config.ini和docker-compose.yml文件即可
  • 运行命令,让容器在后台运行
docker-compose up -d
  • 查看容器日志
docker logs -f douyin_tiktok_download_api
  • 删除容器
docker rm -f douyin_tiktok_download_api
  • 更新
docker-compose pull && docker-compose down && docker-compose up -d

API速度测试(对比官方API)

点击展开截图

抖音官方API:

本项目API:

TikTok官方API:

本项目API:


项目界面

点击展开截图

Web主界面:

Web main interface:


Star History Chart

MIT License

Start: 2021/11/06 GitHub: @Evil0ctal Contact: Evil0ctal1985@gmail.com

平台注册入口