1. 成果展示
2. 軟件下載
win32
、mac
和linux
用戶請自行通過源碼打包。
3. 完整代碼
import re, json, requests
from tqdm import tqdm # 打印進度條的庫
inp = input('請輸入復制的抖音分享鏈接:') # 如:https://v.douyin.com/JVFp8r5/
url = re.findall('https://v.douyin.com/.*?/', inp)[0] # 鏈接解析
res = requests.get(url)
vid = re.findall('/video/(.*?)/', res.url)[0] # vid解析,vid就是視頻id,是我自己定義的
api = f'https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids={vid}' # 調用api
res = requests.get(api).json()
url = res['item_list'][0]['video']['play_addr']['url_list'][0] # 視頻下載鏈接解析
url = url.replace('/playwm/', '/play/') # 去水印
res = requests.get(url, headers={'user-agent': 'chrome'})
total_size = round(int(res.headers["Content-Length"])/1024/1024)
with open(f'{vid}.mp4', 'wb') as f:
for chunk in tqdm(iterable=res.iter_content(1024*1024), total=total_size, unit='KB'):
f.write(chunk)
4. 樣例輸入
抖音短視頻分享鏈接:https://v.douyin.com/JV2WKMu/
1、點擊分享
2、點擊復制鏈接
3、將復制的文本作為程序的輸入
這小狐狸有點東西 #白蛇緣起 #送你一張動態壁紙! https://v.douyin.com/JVjfqWe/ 復制此鏈接,打開抖音搜索,直接觀看視頻!
你可以將復制的鏈接作為程序的輸入,也可以將整個文本作為程序的輸入,因為第4行代碼會對輸入進行解析:
url = re.findall('https://v.douyin.com/.*?/', inp)[0] # 鏈接解析
5. 樣例輸出
6867535672463478024.mp4:https://ghgxj.lanzous.com/i8VNsjb6qli
1、可以看到已經沒有水印了:
2、而帶水印的視頻是這樣的:
6. 爬蟲分析
拿到抖音短視頻分享鏈接后,在電腦瀏覽器中打開:
發現鏈接重定向為:
https://www.iesdouyin.com/share/video/6867535672463478024/?region=CN&mid=6867536423961660174&u_code=191kjhch0&titleType=title&did=3764338486433038&iid=4133808108734896&utm_source=copy_link&utm_campaign=client_share&utm_medium=android&app=aweme
將重定向鏈接中/video/
后面的一串數字定義為vid
:
vid = 6867535672463478024
F12檢查重定向后的頁面,Network-XHR
中發現一條網絡請求:
請求的api
為:
https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=6867535672463478024
響應信息為:
響應信息中找到視頻下載鏈接:
https://aweme.snssdk.com/aweme/v1/playwm/?video_id=v0200f7e0000bt76630o772qo1t21960&ratio=720p&line=0
在瀏覽器中打開該下載鏈接會自動下載視頻,但卻是有水印的。水印的英文單詞是watermark
,縮寫是wm
,而視頻下載鏈接中有playwm
,我想如果將playwm
改為play
是不是就沒有水印了,實驗后發現果真是這樣。
總結一下:
- 對視頻鏈接發起請求
- 從重定向鏈接中獲取
vid
- 拿
vid
請求api
接口 - 從響應中解析無水印下載鏈接
7. 打包教程
【python】將代碼打包為軟件:https://blog.csdn.net/qq_42951560/article/details/111086049
8. 溫馨提示
水印本質上是對版權的一種保護,本文提供的方法僅供學習交流,請勿非法商用,如果你想轉載抖音視頻,請征求原作者的同意,並注明出處,拒絕營銷。
9. 相關推薦
王者榮耀全英雄高清壁紙下載器:https://blog.csdn.net/qq_42951560/article/details/110914184