2020年10月,40行Python代碼,採集抖音無水印視頻

2020-10-30 青燈教育Python學院

文章目錄

  • 寫在前面需求開始分析解決方案去除水印完整代碼

私信小編01即可獲取大量Python學習資料

寫在前面

非逆向破解_signature!非逆向破解_signature!非逆向破解_signature!訂閱前請謹慎。
抖音更新頻繁,不保證長期有效,有效日期會在標題寫出。
本文僅限交流學習使用, 請勿使用在任何非法商業活動。

需求

某天,一朋友甩給我一張圖片(下圖)和一個視頻分享連結(如下)

山西方言在內蒙古居然可以暢通無阻?「燜當戶對面」送給大家... #貧窮料理 #美食趣胃計劃 https://v.douyin.com/JA77fMD/ 複製此連結,打開【抖音短視頻】,直接觀看視頻!

問我能不能拿到無水印的視頻文件

開始分析

我們按常規套路一步步來:
打開網址,F12先分析一下網頁請求
首先看到短連結被302重定向到視頻播放頁的連結。


視頻播放頁的連結返回完整的網頁代碼

https://www.iesdouyin.com/share/video/6874779817993276685/?region=CN&mid=6874780172541774599&u_code=16j6jj9bf&titleType=title×tamp=1600844701&utm_campaign=client_share&app=aweme&utm_medium=ios&tt_from=copy&utm_source=copy


另外一個接口返回了視頻相關的數據

https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=6874779817993276685

目測 item_ids 就是視頻編號,這個接口並不需要 _signature、dytk 等複雜參數,非常簡單。

解決方案

看到這裡就首先想到了兩個解決方案:

  1. 使用 selenium 或 puppeteer 直接訪問短連結,模擬點擊「播放」鍵後,從網頁中用 xpath 或 re 或其他你喜歡的方式匹配出視頻文件連結。
  2. 獲取 item_ids 參數,直接訪問接口 「https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=」 拿到視頻數據,提取出視頻文件連結。
    考慮到這個接口很簡單,參數也很好獲取,我個人採取的方案二:
    對比一下連結發現,item_ids 可以在短連結重定向是直接獲取

https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=6874779817993276685https://www.iesdouyin.com/share/video/6874779817993276685/?region=CN&mid=6874780172541774599&u_code=16j6jj9bf&titleType=title×tamp=1600844701&utm_campaign=client_share&app=aweme&utm_medium=ios&tt_from=copy&utm_source=copy

# 電腦UA訪問短連結,通過302重定向時response.headers中的location標籤獲取視頻id號headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36', }response = requests.get(url=shrot_video_url, headers=headers, allow_redirects=False)items_ids = re.findall(r'video/(.*?)/', response.headers['location'])[0]# 電腦UA訪問官方api視頻分享接口,獲取視頻播放連結url = 'https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids={}'.format(items_ids)headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36', }response = requests.get(url=url, headers=headers)play_addr = response.json().get('item_list')[0]['video']['play_addr']['url_list'][0]

去除水印

我們拿到的視頻文件連結連結如下:

# 有水印https://aweme.snssdk.com/aweme/v1/playwm/?video_id=v0300f9a0000btk1rt9c21acl8d6vjl0&ratio=720p&line=0

這個連結還是有水印的,我們只需要把連結中的 「playwm」 改為 「play」,即可變為無水印的。
(wm是watermark 「水印」 的縮寫,不止抖音,其他平臺也有用到)

# 無水印https://aweme.snssdk.com/aweme/v1/play/?video_id=v0300f9a0000btk1rt9c21acl8d6vjl0&ratio=720p&line=0

當我們用手機UA訪問上面連結時,發現又會跳轉一次

http://v5-dy-d.ixigua.com/a181ba8f34818155b859b70c8b518643/5f70462f/video/tos/cn/tos-cn-ve-15/a0f9a89ec46b4cad83e8cd9215129521/?a=1128&br=6237&bt=2079&cr=0&cs=0&cv=1&dr=0&ds=3&er=&l=202009271456590101980601475921B6A9&lr=&mime_type=video_mp4&qs=0&rc=M205O2Y0Znc0dzMzZGkzM0ApNWVlPDtpOWRpNzU5ZTM7Omdpc2FpXi82b2hfLS02LTBzczAvNTQtXjMvLy4wLy4vYi46Yw%3D%3D&vl=&vr=


好了,現在可以下載視頻了

完整代碼

def download_video(shrot_video_url): # 電腦UA訪問短連結,通過302重定向時response.headers中的location標籤獲取視頻id號 headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36', } response = requests.get(url=shrot_video_url, headers=headers, allow_redirects=False) items_ids = re.findall(r'video/(.*?)/', response.headers['location'])[0] # 電腦UA訪問官方api視頻分享接口,獲取視頻播放連結,通過替換 playwm 為 play 後,得到無水印的視頻播放連接 url = 'https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids={}'.format(items_ids) headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36', } response = requests.get(url=url, headers=headers) play_addr = response.json().get('item_list')[0]['video']['play_addr']['url_list'][0] play_addr_nowm = str(play_addr).replace('playwm', 'play') print(play_addr_nowm) # 手機UA訪問無水印的視頻播放連結,經過302重定向後,獲取無水印視頻播放真實連結 (注意:此處若使用電腦UA則獲取不到任何數據) headers = {'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', } response = requests.get(url=play_addr_nowm, headers=headers, allow_redirects=False) real_play_addr_nowm = response.headers['location'] print(real_play_addr_nowm) # 手機UA訪問,下載視頻 (注意:此處若使用電腦UA則獲取不到任何數據) headers = { 'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', 'Connection': 'keep-alive', 'Host': 'v5-dy-d.ixigua.com' } r = requests.get(url=real_play_addr_nowm, headers=headers, stream=True) # 下載視頻 print("{}開始下載".format(items_ids)) with open('{}.mp4'.format(items_ids), "wb") as mp4: for chunk in r.iter_content(chunk_size=1024 * 1024): if chunk: mp4.write(chunk) print("{}下載結束".format(items_ids))if __name__ == '__main__': # 單個視頻分享頁————下載無水印視頻 video_list = ['https://v.douyin.com/JA77fMD/'] for j in video_list: download_video(j)

相關焦點

  • Python實現視頻批量加水印,僅需50行代碼
    最近由於工作安排,同事需要經常大批量給視頻添加水印,昨天反饋給我說,用的某軟體批量添加水印過程真的很繁瑣,效率也很低,加一個水印要好幾分鐘時間,你能不能幫我開發一個小工具直接達到「一鍵添加」的效果。MoviePy這個模塊就是MoviePy,它是一個用於視頻編輯的python模塊,你可以用它實現一些基本的操作(比如視頻剪輯,視頻拼接,插入標題),還可以實現視頻合成,還有視頻處理,抑或用它加入一些自定義的高級的特效。
  • python爬蟲實戰,超簡單爬取抖音無水印視頻
    目錄 一、抖音視頻分析①、打開抖音app,搜索想要爬取視頻的抖音音樂人可以看出每個視頻有兩個連結,自己訪問一下就知道,一個連結是用戶上傳的原視頻,另一個是抖音那邊加了水印的視頻其實到這裡大家都知道無水印視頻如何下載了
  • 無水印抖音短視頻一鍵批量提取下載【視頻批量採集器】
    不少自媒體朋友都在問,用什麼視頻採集器可以批量採集抖音上面無水印的視頻,今天小編就用實例,測試一下固喬視頻助手是否能做到批量無水印採集短視頻這件事。工具/材料:電腦、手機抖音視頻連結固喬視頻助手實例演示步驟:電腦上,打開固喬視頻助手,(沒有下載這個工具的朋友,自己打開瀏覽器下載一個,也可以在喬禮賣家驛站裡面直接下載到)點擊上圖,橢圓裡面的【自媒體視頻下載】,打開一個窗口後,在【自動粘貼網址】前的小方框裡面打勾。
  • 收藏 | 分享三個抖音無水印視頻的下載方法
    抖音上有很多有意思的小視頻,通過官方的app可以下載但是視頻會帶有水印。網上看了一下好多下載無水印視頻要麼不好用,要麼需要付費。
  • 抖音視頻怎麼去水印 抖音怎麼導出無水印視頻
    首頁 > 問答 > 關鍵詞 > 抖音最新資訊 > 正文 抖音視頻怎麼去水印 抖音怎麼導出無水印視頻
  • 抖音怎麼無水印下載視頻 無水印視頻下載步驟
    首頁 > 問答 > 關鍵詞 > 抖音最新資訊 > 正文 抖音怎麼無水印下載視頻 無水印視頻下載步驟
  • 抖音無水印視頻提取工具 抖音去水印的手機軟體
    抖音無水印視頻提取工具有沒有呢,這是很多有這方面需求的小夥伴們都關心的問題。就讓小編帶大家了解抖音去水印的手機軟體吧~
  • 上萬行python代碼採集愛奇藝720P非VIP無水印視頻
    ,無水印愛奇藝將視頻切分為8-10秒,下載後需要合併視頻VIP的視頻暫時不行,當然你可以用VIP帳號的cookie試一下視頻默認720P(如果視頻未到720P,默認下載最高清晰度)環境:python3.7,windows, chrome, selenium【如果感興趣的人多,再詳細寫參數破解過程吧】【大概5秒分析完一個url,目前效率較差,後續有更好解決方案會更新
  • 抖音怎麼快速全部導出無水印視頻到本地電腦
    批量採集保存:抖音視頻,抖音上自己的視頻,別人的視頻,搞笑的,影視的,娛樂的視頻,用工具來一鍵導出,快捷省事。工具/材料:電腦手機抖音用戶主頁連結或,抖音視頻連結固喬視頻助手實例演示步驟:打開手機,進入抖音APP,採集視頻連結,採集用戶主頁的連結,一一發送到電腦端(微信、QQ都可以用來接收連結)在電腦上下載一個工具,固喬視頻助手,下載好就可以馬上打開,無需安裝,打開後可以看到工具的主頁面如下
  • 資深程式設計師教你,用python入門的知識抓取抖音短視頻,太厲害了
    抖音短視頻可以說是當下最流行的自媒體平臺,而python編程同樣也是目前最流行的程式語言。今天,就讓一位大廠的資深程式設計師,用最簡單的方式,使用python抓取抖音短視頻。Video_url:帶水印的視頻播放地址Download_url:帶水印的視頻下載
  • 視頻去水印神器,支持抖音去水印和快手去水印,支持全平臺使用
    這裡資源豐富,你想要的在這都能找的到哦~大家好,今天給大家帶來的是視頻去水印神器,支持抖音去水印和快手去水印。很多時候我們會從抖音、快手保存一些好玩有趣的視頻,這裡小編給大家帶來幾款短小精悍的APP,支持抖音、快手、微視等一百多個主流視頻平臺,而且安卓/IOS/電腦都能用。
  • 超簡單爬取抖音無水印視頻,程序猿如果想火就是這麼簡單
    ①、打開抖音app,搜索想要爬取視頻的抖音音樂人②、找到主頁右上角三個點可以看出每個視頻有兩個連結,自己訪問一下就知道,一個連結是用戶上傳的原視頻,另一個是抖音那邊加了水印的視頻其實到這裡大家都知道無水印視頻如何下載了,不必贅述了
  • 自媒體平臺無水印短視頻用哪個軟體採集,如何剪輯視頻才算原創?
    如今的自媒體平臺上的影視類短視頻用什麼軟體搬運,怎樣剪輯視頻不算搬運?視頻去水印解析軟體,搬運視頻的必備軟體有哪些?視頻搬運怎麼做二次剪輯,怎麼加工視頻不被認為搬運搬運的視頻抖音視頻視頻批量保存複製器,固喬視頻助手簡單嗎?固喬剪輯助手,好不好學?
  • 捷徑庫抖音無水印 ios捷徑抖音無水印
    捷徑庫抖音無水印有沒有呢,這是很多有這方面需求的小夥伴們都關心的問題。就讓小編帶大家了解ios捷徑抖音無水印吧~
  • Python實現視頻裁剪添加水印功能
    今天來實現一個利用Python的moviepy類庫裁剪視頻的功能。寫這個功能的初衷是想批量的裁剪一下視頻,下面一起來看一下代碼吧!python目前我們實現的是將單獨一個視頻進行裁剪本次我們將目前視頻截取一小段內容,並為其添加一個水印圖片。
  • 快手、抖音爬蟲必備工具,批量爬取無水印短視頻
    快手視頻用什麼方法採集下載,可以保存無水印的視頻到電腦裡面,哪個工具可以一鍵批量保存作者頁裡面全部的短視頻,接著往下看,到底是什麼樣的方法,能夠快速保存快手、抖音等自媒體平臺的視頻。這個工具可通過採集一個一個視頻的連結,粘貼進去批量下載,也可以用作者主頁連結,放到工具裡面直接批量獲取全部視頻連結後再批量下載,還有一個最簡單的,【隨機獲取熱門視頻】這個地方點一下,下拉菜單選對應的平臺就能獲取到當下最熱門的視頻連結然後批量下載。我們選擇採集連結批量下載的方法。
  • 抖音無水印 抖音無水印解析吾愛破解
    抖音無水印怎麼做呢,這是很多有這方面需求的小夥伴們都關心的問題。就讓小編帶大家了解抖音無水印解析吾愛破解吧~
  • 抖音無水印捷徑連結 抖音無水印壁紙
    抖音無水印捷徑連結怎麼樣呢,這是很多有這方面需求的小夥伴們都關心的問題。就讓小編帶大家了解抖音無水印壁紙吧~
  • 教你怎麼一鍵保存手機百度、抖音無水印短視頻到手機
    手機百度、抖音或者是快手等視頻,想要批量無水印保存這些平臺的短視頻,要怎樣操作才可以實現?今天小編跟大家分享一款可以輕鬆快速下載全部短視頻的工具。一起來看下具體的操作方法吧。工具,材料:電腦一臺視頻連結手機固喬視頻助手下載步驟:打開工具"固喬視頻助手"單擊
  • 2020最新快手/抖音/火山等短視頻批量解析去水印下載方法!推薦收藏
    抖音、快手作為時下最為熱門兩款短視頻app,很多做視頻自媒體的朋友都會到這些平臺上採集視頻素材,但是發現下載的視頻都會帶有水印,這就很煩人了,今天小編主要教大家如何在線批量下載無水印抖音、快手等短視頻的方法技巧!一起來看看吧!1、首先我們需要下載一個天圖視頻批量下載工具,為什麼說用這個工具呢?