【python】15行代碼下載抖音無水印短視頻



1. 成果展示

在這里插入圖片描述

2. 軟件下載

win64:https://ghgxj.lanzous.com/iygHjjb9psh

win32maclinux用戶請自行通過源碼打包。

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是不是就沒有水印了,實驗后發現果真是這樣。


總結一下:

  1. 對視頻鏈接發起請求
  2. 從重定向鏈接中獲取vid
  3. vid請求api接口
  4. 從響應中解析無水印下載鏈接

7. 打包教程

【python】將代碼打包為軟件:https://blog.csdn.net/qq_42951560/article/details/111086049

8. 溫馨提示

水印本質上是對版權的一種保護,本文提供的方法僅供學習交流,請勿非法商用,如果你想轉載抖音視頻,請征求原作者的同意,並注明出處,拒絕營銷。

9. 相關推薦

王者榮耀全英雄高清壁紙下載器:https://blog.csdn.net/qq_42951560/article/details/110914184


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM