如何使用 Python 開發(fā)一個【抖音視頻下載神器】
國外有個在線網(wǎng)站,專門幫別人下載 YouTube 上面的視頻,功能很簡單直接,就是把你想要的 youtube 視頻地址復(fù)制進去,然后點擊 start 就可以下載視頻:

不過,當你點擊下載的時候,會跳轉(zhuǎn)到一個廣告頁面,可真會玩,這個網(wǎng)站訪問量賊大,站長每天不用干啥,坐等別人瀏覽廣告實現(xiàn)躺著賺錢,真是舒服。

嚇得小帥b趕緊擼起 Python,開發(fā)一個【抖音視頻下載神器】來壓壓驚。

怎么實現(xiàn)的呢?那么,接下來就是:
學習 Python 的正確姿勢
先來分析一波,在抖音中找到自己喜歡的視頻,把鏈接復(fù)制出來,在瀏覽器訪問:

可以看到它做了個重定向,打開 F12:

訪問這個真實地址,再抓下包:

可以看到,這里訪問:
iteminfo/?item_ids=xxx
可以得到一個 JSON 對象,往下翻可以看到一個播放地址:

訪問一下這個地址:

喲,這視頻不就來了嘛~

這視頻鏈接看著有點玩味,把其中的 wm 去掉再訪問:

神奇的水印居然消失了:

通過簡單的分析,咱們就知道如何獲取到原視頻地址了。
那么接下來就開始擼代碼了。

像這種簡單的網(wǎng)頁實現(xiàn),我們可以使用 Flask,首先創(chuàng)建一個 Project,然后創(chuàng)建一個 templates 來存放靜態(tài)網(wǎng)頁。
在里面創(chuàng)建一個 index.html,使用 bootstrap 隨便整一個網(wǎng)頁結(jié)構(gòu):

接著我們創(chuàng)建一個 app.py,定義一下路由,當訪問首頁的時候,我們就把這個頁面渲染一波:

運行起來:

看起來還有模有樣的。

當用戶點擊提交的時候,我們讓它去調(diào)用 download_video 方法:

這樣就可以在 app.py 中獲取用戶傳來的地址:

如何通過用戶的地址獲取到原視頻地址呢?
因為用戶復(fù)制的地址,直接請求的話會有一個重定向,所以首先得拿到重定向后的地址,可以這么做:

這樣通過 req.url 就可以得到重定向后的地址:

而這個地址包含了 ID ,理論上只要拿到這個 ID,然后去訪問我們剛抓到的 API 地址就可以得到 JSON:

通過正則把地址中的 ID 拿過來:

有了 ID 就可以請求地址,得到 JSON 數(shù)據(jù):

這樣就可以把原始視頻地址解析出來:

得到原始視頻地址了還不好說嘛,我們先創(chuàng)建一個目錄,用來存放下載的視頻:

ok,把視頻下載下來,存放到這個目錄,然后將路徑返回:

這樣就可以把得打的路徑返回到前端:

在 HTML 中可以做一下判斷,如果 video 有值,就顯示出來:

運行一下看看,輸入地址:

下載后視頻來了:

本地打開,可以:

再來個表單校驗:

這樣有什么消息就可以在前端做一個提醒:

像這樣:

OK,以上就是小帥b今天給你帶來的思路分享,希望對你有所幫助,以上完整源碼可以進入公眾號發(fā)送 7 獲取。
更多好玩:
2021-05-24
2020-06-17
2020-04-21
如果你感興趣,還可以跟著小帥b一起:通往「Python高手之路」
我們,下回見,peace!

