English | 簡體中文
「Douyin_TikTok_Download_API」是一個開箱即用的高性能非同步抖音|TikTok|Bilibili資料爬取工具,支援API調用,線上批次解析及下載。
這些贊助商已付費放置在這裡, Douyin_TikTok_Download_API專案將永遠免費且開源。如果您希望成為該專案的贊助商,請查看我的GitHub 贊助商頁面。
如需使用私有伺服器運行本項目,請參考:部署準備工作, Docker部署, 一鍵部署
本專案是基於PyWebIO,FastAPI,HTTPX,快速非同步的抖音/TikTok資料爬取工具,並透過Web端實現線上批次解析以及下載無浮水印影片或圖集,資料爬取API,iOS快捷指令無浮水印下載等功能。你可以自己部署或改造本專案實現更多功能,也可以在你的專案中直接呼叫scraper.py或安裝現有的pip套件作為解析庫輕鬆爬取資料等.....
一些簡單的運用場景:
下載禁止下載的視頻,進行數據分析,iOS無水印下載(搭配iOS自帶的快捷指令APP 配合本項目API實現應用內下載或讀取剪貼板下載)等.....
Evil0ctal
備註github專案重構,大家可以在群組裡互相交流學習,不允許發廣告以及違法的東西,純粹交朋友和技術交流。X-Bogus
演算法以及A_Bogus
演算法請求抖音和TikTok的Web API。TikHub.io是一個API平台,提供包括Douyin、TikTok在內的各種公開資料接口,如果您想支持Douyin_TikTok_Download_API 專案的開發,我們強烈建議您選擇TikHub.io。
? 開箱即用
簡化使用流程,利用封裝好的SDK迅速展開開發工作。所有API介面均依據RESTful架構設計,並使用OpenAPI規格進行描述與文件化,附帶範例參數,確保呼叫更加簡單。
?成本優勢
不預設套餐限制,沒有月度使用門檻,所有消費按實際使用量即時計費,並且根據用戶每日的請求量進行階梯式計費,同時可以通過每日簽到在用戶後台進行簽到獲取免費的額度,而這些免費額度不會過期。
⚡️ 快速支持
我們有一個龐大的Discord社群伺服器,管理員和其他用戶會在伺服器中快速的回覆你,幫助你快速解決當前的問題。
?擁抱開源
TikHub的部分原始碼會開源在Github上,並且會贊助一些開源專案的作者。
?演示網站的線上下載功能已關閉,並且由於Cookie原因,Douyin的解析以及API服務在Demo站點無法保證可用性。
?Web APP: https://douyin.wtf/
?API Document: https://douyin.wtf/docs
?TikHub API Document: https://api.tikhub.io/docs
?iOS Shortcut(快捷指令): Shortcut release
?️桌面端下載器(倉庫推薦):
/crawlers
/app/api
Crawlers
相關類別處理資料後以JSON形式返回,影片下載,配合iOS快捷指令實現快速調用,支援非同步。/app/web
PyWebIO
製作的簡易Web程序,將網頁輸入的值進行處理後使用Crawlers
相關類別處理介面輸出相關資料在網頁上。以上文件的參數多可在對應的config.yaml
中進行修改
./Douyin_TikTok_Download_API
├─app
│ ├─api
│ │ ├─endpoints
│ │ └─models
│ ├─download
│ └─web
│ └─views
└─crawlers
├─bilibili
│ └─web
├─douyin
│ └─web
├─hybrid
├─tiktok
│ ├─app
│ └─web
└─utils
抖音網頁版API
TikTok網頁版API
嗶哩嗶哩網頁版API
PyPi:https://pypi.org/project/douyin-tiktok-scraper/
安裝解析庫: pip install 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: n { result } " )
return result
asyncio . run ( hybrid_parsing ( url = input ( "Paste Douyin/TikTok/Bilibili share URL here: " )))
提示:包含但不限於以下例子,如果遇到連結解析失敗請開啟一個新issue
7.43 pda:/ 让你在几秒钟之内记住我 https://v.douyin.com/L5pbfdP/ 复制此链接,打开Dou音搜索,直接观看视频!
https://v.douyin.com/L4FJNR3/
https://www.douyin.com/video/6914948781100338440
https://www.douyin.com/discover?modal_id=7069543727328398622
https://www.tiktok.com/t/ZTR9nDNWq/
https://www.tiktok.com/@evil0ctal/video/7156033831819037994
https://v.douyin.com/L4NpDJ6/
https://www.douyin.com/video/7126745726494821640
2.84 nqe:/ 骑白马的也可以是公主%%百万转场变身https://v.douyin.com/L4FJNR3/ 复制此链接,打开Dou音搜索,直接观看视频!
https://www.tiktok.com/t/ZTR9nkkmL/
https://www.tiktok.com/t/ZTR9nDNWq/
https://www.tiktok.com/@evil0ctal/video/7156033831819037994
API文件:
本地:http://localhost/docs
線上:https://api.douyin.wtf/docs
API示範:
https://api.douyin.wtf/api/hybrid/video_data?url=[视频链接/Video URL]&minimal=false
https://api.douyin.wtf/api/download?url=[视频链接/Video URL]&prefix=true&with_watermark=false
更多演示請查看文檔內容......
Douyin_TikTok_Download_API/crawlers/douyin/web/config.yaml
Line 7 in 30e56e5
Douyin_TikTok_Download_API/crawlers/tiktok/web/config.yaml
Line 6 in 30e56e5
/api/download
介面對TikTok 影片進行下載,這個介面在示範網站中已經被手動關閉了,需要你自行部署本項目。提示:最好將本專案部署至美國地區的伺服器,否則可能會出現奇怪的BUG。
推薦大家使用Digitalocean的伺服器,因為可以白嫖。
使用我的邀請連結註冊,你可以獲得$200的credit,當你在上面消費$25時,我也可以獲得$25的獎勵。
我的邀請連結:
https://m.do.co/c/9f72a27dec35
使用腳本一鍵部署本項目
wget -O install.sh https://raw.githubusercontent.com/Evil0ctal/Douyin_TikTok_Download_API/main/bash/install.sh && sudo bash install.sh
開啟/停止服務
sudo systemctl start Douyin_TikTok_Download_API.service
sudo systemctl stop Douyin_TikTok_Download_API.service
開啟/關閉開機自動運行
sudo systemctl enable Douyin_TikTok_Download_API.service
sudo systemctl disable Douyin_TikTok_Download_API.service
更新項目
cd /www/wwwroot/Douyin_TikTok_Download_API/bash && sudo bash update.sh
提示:Docker部署是最簡單的部署方式,適合不熟悉Linux的用戶,此方法適合確保環境一致性、隔離性和快速設定。 請使用能正常存取Douyin或TikTok的伺服器,否則可能會出現奇怪的BUG。
在開始之前,請確保您的系統已安裝Docker。如果還未安裝Docker,可以從Docker官方網站下載並安裝。
首先,從Docker Hub拉取最新的Douyin_TikTok_Download_API映像。
docker pull evil0ctal/douyin_tiktok_download_api:latest
如果需要,可以取代latest
為你需要部署的特定版本標籤。
拉取鏡像後,您可以從此鏡像啟動一個容器。以下是運行容器的命令,包括基本配置:
docker run -d --name douyin_tiktok_api -p 80:80 evil0ctal/douyin_tiktok_download_api
這個指令的每個部分作用如下:
-d
:在背景運作容器(分離模式)。--name douyin_tiktok_api
:將容器命名為douyin_tiktok_api
。-p 80:80
:將主機上的80埠對應到容器的80埠。根據您的配置或連接埠可用性調整連接埠號碼。evil0ctal/douyin_tiktok_download_api
:要使用的Docker映像名稱。使用以下命令檢查您的容器是否正在運行:
docker ps
這將列出所有活動容器。尋找douyin_tiktok_api
以確認其正常運作。
容器運行後,您應該可以透過http://localhost
或API客戶端存取Douyin_TikTok_Download_API。如果配置了不同的連接埠或從遠端位置訪問,請調整URL。
對於更進階的部署,您可能想要自訂Docker命令,包括環境變數、持久性資料的磁碟區掛載或其他Docker參數。這是一個範例:
docker run -d --name douyin_tiktok_api -p 80:80
-v /path/to/your/data:/data
-e MY_ENV_VAR=my_value
evil0ctal/douyin_tiktok_download_api
-v /path/to/your/data:/data
:將主機上的/path/to/your/data
目錄掛載到容器的/data
目錄,用於持久化或共享資料。-e MY_ENV_VAR=my_value
:在容器內設定環境變數MY_ENV_VAR
,其值為my_value
。專案的大部分配置可以在以下幾個目錄中的config.yaml
檔案進行修改:
/crawlers/douyin/web/config.yaml
/crawlers/tiktok/web/config.yaml
/crawlers/tiktok/app/config.yaml
需要停止和移除容器時,請使用以下命令:
# Stop
docker stop douyin_tiktok_api
# Remove
docker rm douyin_tiktok_api
API速度測試(對比官方API)
抖音官方API:
本項目API:
TikTok官方API:
本項目API:
專案介面
Web主介面:
Web main interface:
Apache-2.0 license
Start: 2021/11/06
GitHub: @Evil0ctal