這是Hackpython第一篇文章,比較草率,本想做在線教育的,無奈,時間比較有限,而且目前也沒得到什么正反饋,所以這個號目前的職責是分享出我看見的與Python有關(guān)或無關(guān)的東西,前路慢慢,隨便看看,隨便聊聊。
今天回爐微積分,想將相應的視頻都下載下來,這個需求泛化一下就是下載各個視頻網(wǎng)站上的視頻,國內(nèi)的環(huán)境造就了很多視頻網(wǎng)站都是所謂的VIP,這個文章最后提幾個思路,先看如何下載這個普通網(wǎng)站上的視頻。
自己解析url獲得下載url不是不行,而是太累,懶使人進步,不想做那么多,所以必須優(yōu)化步驟,這里一樣。自己的需求不特別,那么肯定有相應的工具,如parsevideo
https://www.parsevideo.com/
支持你見過或沒見過的大多數(shù)網(wǎng)站,自己寫個簡單爬蟲,將網(wǎng)站url獲取,并傳到這個網(wǎng)站上獲得真實的URL則可。
嗯....不想動手寫爬蟲,所以找到了You-GET
https://github.com/soimort/you-get
人氣很高,比較靠譜,安裝簡單,直接看文檔則可。
用法就很簡單了
you-get 'https://www.youtube.com/watch?v=jNQXAC9IVRw'
其他細節(jié)
you-get 'url' ? ? ?# 最簡單的下載
you-get -i 'url' ? # 列出視頻信息,可以看到該網(wǎng)頁提供的視頻的信息,一般默認的就好,但有時候也有更高清的可供選擇,通過這種方式可以獲取其itag,然后用下面的方式進行下載
you-get --itag=127 'url' ? # 下載指定質(zhì)量的視頻,國內(nèi)網(wǎng)站一般默認就是最高清的,但是國外的還有更高清的
you-get -x 127.0.0.1:8118 'url' ? ?# 設(shè)置http代理
當然,也可以在代碼中使用,所以爬取各大視頻網(wǎng)站中免費視頻的邏輯也就有了,普通的url獲取爬蟲,然后將爬取的url交個you-get下載,如下
from you_get.extractors import * ? ?# 可以獲取到各個網(wǎng)站的下載器
download_urls([url], title, 'mp4', 0, './videos')
當然,我個人還行喜歡用命令行的方式,結(jié)合在代碼中一樣使用
def cmd_download(url, filename):
? ?info = os.system(r'you-get --debug -o C:\Users\rHotD\Downloads\wangyi_open\Linear_algebraic_exercises -O {} {}'.format(filename, url))
? ?print(info)
? ?return 1
you-get的關(guān)鍵詞就這么多,細節(jié)都可以自己搜索。
至于怎么破解VIP,思路有兩個
1.共享會員,Android下有成熟的軟件了,用過,比較穩(wěn)。 2.強行突破,原理其實是你請求了對方服務器,對方服務器中有VIP,通過VIP賬號,可以獲得加密后的正式URL,解密則可,這應該要比較高的JS技巧。
兩種途徑:
http://tv.dsqndh.com/
油猴腳本
https://greasyfork.org/zh-CN
下一篇預告,寫python爬蟲的代理,因為最近老是看見,“聽說你寫了個爬蟲沒幾下就被封了”的賣課推廣文章,目前這個號只有5個粉絲,應該是沒人找我寫賣課推廣了,所以,只能自己分享點。
坑:you-get有時下載會斷,使用時自己做好異常處理。