校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

返回列表

作者:巨人電商

python爬蟲教程:抖音無水印視頻批量下載

POST TIME:2021-04-12

向AI轉型的程序員都關注了這個號

大數據挖掘DT機器學習? 公眾號:?datayx

抖音越來越火,感覺它有毒,越刷越上癮,總感覺下一個視頻一定會更精彩,根本停不下來。想將抖音里喜歡的小哥哥/小姐姐的視頻全部存到電腦硬盤里該如何操作?不想有抖音的視頻水印該如何處理?

首先,希望你已經具備手機APP抓包分析的能力,如果不會請去自行學習:

https://blog.csdn.net/c406495762/article/details/76850843

先說說帶水印的視頻如何抓去吧。在定好爬取目標的時候,我們應該知道自己需要那些步驟完成這項任務。比如本文中提到的任務:抖音app固定用戶的視頻批量下載。

思考過程:

想要批量下載視頻首先要獲得這些視頻的鏈接;

想要獲得這些視頻鏈接可以通過用戶的主頁進行查看,想進用戶主頁,我得知道用戶主頁鏈接;

用戶主頁鏈接可以通過抖音APP的搜索功能獲取,那么搜索功能接口如何獲取?當然是抓包看看嘍!

瞧,這樣思考下來,問題是不是梳理的很清楚?

搜索接口:

那么接下來就是抓包分析了,抓包過程請自行嘗試。步驟是這樣的:

配置好FIDdler,即確定Fiddler可以對手機APP進行抓包;

在手機APP搜索框中輸入用戶信息,點擊搜索;

在Fiddler找到搜索接口;

分析這個接口傳遞參數規則;

寫代碼生成相應查詢接口。

通過分析你會發現,我們通過搜索接口返回的JSON數據可以找到用戶主頁信息,接下里用同樣的方法抓取主頁用戶信息再分析一波,這時候就遇到問題了,你會發現用戶主頁鏈接使用了as和cp參數進行了加密,這該如何是好?比如鏈接如下:

1

https://aweme.snssdk.com/aweme/v1/aweme/post/?user_id=63386731255&max_cursor=0&count=20...&as=a18575a0311bfa0c2d&cp=55bba65311d10ccde1

上述鏈接省略號部分是一些手機信息,這部分不是必須參數,可以省略。user_id是用戶id可以通過上個搜索接口獲取,count是用戶視頻數量,同樣可以通過上個搜索接口獲取。那最后的as和cp參數怎么辦?

我沒有逆向抖音APP,就是小小測試了一下,看看能不能繞過這個加密接口?抖音APP自帶視頻分享功能,分享鏈接格式如下:

1

https://www.douyin.com/share/video/6511132370416962829/?region=cn...share_iid=28037626243

中間參數都不重要,在此省略。www.DOU+yin.com域名下存放的是分享的視頻,那么這個用戶主頁信息是否可以通過這個域名進行訪問呢?小小測試一下你會發現,完全沒有問題!

1

https://www.douyin.com/aweme/v1/aweme/post/?user_id=63386731255&max_cursor=0&count=20

這就是沒有加密的接口,驚不驚喜,意不意外?根據這個用戶主頁接口,我們就可以輕松獲取用戶主頁所有的視頻鏈接了。

方法一:

無水印視頻下載很簡單,有一個通用的方法,就是使用去水印平臺即可。

我使用的去水印平臺是:http://douyin.iiilab.com/

在輸入框中輸入視頻鏈接點擊視頻解析,就可以獲得無水印視頻鏈接。

這個網站當初我寫代碼的時候是好使的,當初用這個網站下了一些無水印視頻,不過寫這篇文章的時候發現這個取水印平臺無法正常解析了,等它修復好了再用這個功能吧。

這個平臺不僅包括抖音視頻去水印,還支持火山、快手、陌陌、美拍等無水印視頻。所以做一個這個網站的接口還是很合適的。

簡單測試了一下,這個網站的API是需要付費解析的,如果通過模擬請求的方式有些困難,因此決定上瀏覽器模擬器Splinter。

Splinter是個好東西,跟Selenium使用類似,它的配置可以參考我的早期Selenium文章:http://blog.csdn.net/c406495762/article/details/72331737

Splinter有個很詳細的英文文檔:http://splinter.readthedocs.io/en/latest/

這里使用方法就不累述,不過有一點可以說的是,我們可以配置headless參數,來將Splinter配置為無頭瀏覽器,啥事無頭瀏覽器呢?就是運行Splinter不調出瀏覽器界面,直接在后臺模擬各種請求,很是方便。

這部分的代碼很簡單,無非就是填充元素,確定解析按鈕位置,點擊按鈕,獲取視頻下載鏈接即可。

本文源碼地址:

關注微信公眾號datayx 然后回復“抖音”即可獲取。

整體代碼:

方法二:

對下載鏈接直接修改即可得到無水印下載鏈接。

1

download_url = video_html['video']['play_addr']['url_list'][0].replace('playwm','play')

方法簡單粗暴,很好用。好處就是處理速度飛快,缺點是這種方法通用性不強,不同視頻發布平臺的打碼方法可能有不同,需要自行分析。

不斷更新資源

深度學習、機器學習、數據分析、python

?搜索公眾號添加:?datayx

長按圖片,識別二維碼,點關注

主站蜘蛛池模板: 温州市| 白沙| 西乌| 台中市| 平南县| 揭东县| 长葛市| 文水县| 景泰县| 拉萨市| 柯坪县| 恭城| 达孜县| 马边| 武城县| 论坛| 县级市| 如皋市| 元谋县| 长海县| 沿河| 洪湖市| 桐城市| 西华县| 贡嘎县| 新丰县| 柘城县| 遵义市| 西华县| 越西县| 老河口市| 衡山县| 昌都县| 绥芬河市| 平利县| 香河县| 涟源市| 曲靖市| 遵化市| 玉树县| 太仓市|