你不知道的You-Get 就是這么強勢!
大家好,我是Python進階者。
前言
You-Get是什么?相信有很多人,應(yīng)該還不知道它的來歷,其實它就是一款支持眾多網(wǎng)站視頻下載的神器,既可以在命令提示符中操作,也可以在Python代碼中運行,跟現(xiàn)在的很多模塊都一樣,下面我們來看一下它的具體用法吧。
一、安裝
你可以選擇在命令提示符使用Pip安裝You-Get模塊,也可以下載You-Get應(yīng)用程序并安裝。
安裝模塊:
- pip install you-get
安裝好之后,我們可以先看看它的版本號:
它本身支持的下載視頻網(wǎng)站是十分多的,如圖所示:
可以看到,支持很多視頻,F(xiàn)acebook也在其中之一。
二、基本用法
1.基本命令
通過在命令提示符中輸入you-get ,我們來看看它有哪些的實用功能:
- 可選參數(shù):
- -V, --version 打印版本并退出
- -h, --help 打印幫助消息并退出
- 即將運行的選項:
- (沒有實際下載)
- -i, --info 打印提取信息
- -u, --url 打印提取url信息
- --json 打印提取以json格式的url
- 下載選項:
- -n, --no-merge 不合并視頻部分
- --no-caption 不下載標題(字幕、歌詞、danmaku…)
- -f, --force 覆蓋現(xiàn)有的文件
- --skip-existing-file-size-check 跳過現(xiàn)有文件沒有檢查文件大小
- -F STREAM_ID, --format STREAM_ID 視頻格式設(shè)置為STREAM_ID
- -O FILE, --output-filename FILE 設(shè)置輸出文件名
- -o DIR, --output-dir DIR 設(shè)置輸出目錄
- -p PLAYER, --player PLAYER 提取URl中的流并播放
- -c COOKIES_FILE, --cookies COOKIES_FILE 加載cookie.txt或cookies.sqlite
- -t SECONDS, --timeout SECONDS 設(shè)置套接字超時
- -d, --debug 調(diào)試顯示回溯和其它調(diào)試信息
- -I FILE, --input-file FILE 僅下載鏈接的視頻不下載列表
- -P PASSWORD, --password PASSWORD 設(shè)置視頻密碼訪問密碼
- -l, --playlist 優(yōu)先下載播放列表
- -a, --auto-rename 自動重命名相同的名稱不同的文件
- -k, --insecure 忽略ssl錯誤
- 理選項:
- -x HOST:PORT, --http-proxy HOST:PORT 對下載使用HTTP代理
- -y HOST:PORT, --extractor-proxy HOST:PORT 只使用一個HTTP代理提取
- --no-proxy 從不使用代理
- -s HOST:PORT, --socks-proxy HOST:PORT 使用socket代理下載
以上便是You-Get所有的命令行參數(shù)了,下面我們來具體看看吧。
2.查看視頻信息
我們以嗶哩嗶哩某個視頻為主:
我們先來看下這個視頻的信息:
我們可以看到有很多信息,其中有視頻的標題,格式,大小,清晰度等。除此之外,還可以查看Url的具體地址:
如果你覺得不夠美觀,還可以使用Json形式來顯示,具體結(jié)果如下:
- C:\Program Files (x86)\DAUM\PotPlayer>You-Get --json https://www.bilibili.com/video/
- BV1N5411x7gf/
- site: Bilibili
- title: 無法超越的三個燃動作
- stream:
- - format: dash-flv480
- container: mp4
- quality: 清晰 480P
- size: 2.8 MiB (2953276 bytes)
- # download-with: You-Get --format=dash-flv480 [URL]
- User Agent: Python-urllib/3.6
- Real URLs:
- http://upos-sz-mirrorcos.bilivideo.com/upgcxcode/43/20/195842043/195842043-1-300
- 32.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8
- gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7
- MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&deadline=1590653191&gen=p
- layurl&os=cosbv&oi=0&trid=a6b3a442c80345628e84620cfaeb0043u&platform=pc&upsig=a3
- 9c73b52d9972bf353dfcbf548d4fd3&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,platfo
- rm&mid=0&orderid=0,1&logo=80000000
- http://upos-sz-mirrorcos.bilivideo.com/upgcxcode/43/20/195842043/195842043-1-302
- 80.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8
- gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7
- MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&deadline=1590653191&gen=p
- layurl&os=cosbv&oi=0&trid=a6b3a442c80345628e84620cfaeb0043u&platform=pc&upsig=42
- 32cc3b6b2efe8bc20b8b8b171ed2ce&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,platfo
- rm&mid=0&orderid=0,1&logo=80000000
- C:\Program Files (x86)\DAUM\PotPlayer>You-Get --json https://www.bilibili.com/vi
- deo/BV1N5411x7gf/
- {
- "url": "https://www.bilibili.com/video/BV1N5411x7gf/",
- "title": "無法超越的三個燃動作",
- "site": "Bilibili",
- "streams": {
- "flv720": {
- "container": "flv",
- "quality": "高清 720P",
- "size": 2940926,
- "src": [
- "http://cn-hbsjz2-cmcc-bcache-12.bilivideo.com/upgcxcode/43/20/1
- 95842043/195842043-1-64.flv?e=ig8euxZM2rNcNbNH7zUVhoMgnWuBhwdEto8g5X10ugNcXBlqNx
- HxNEVE5XREto8KqJZHUa6m5J0SqE85tZvEuENvNC8xNEVE9EKE9IMvXBvE2ENvNCImNEVEK9GVqJIwqa
- 80WXIekXRE9IMvXBvEuENvNCImNEVEua6m2jIxux0CkF6s2JZv5x0DQJZY2F8SkXKE9IB5QK==&deadl
- ine=1590653296&gen=playurl&nbs=1&oi=1862376489&os=bcache&platform=pc&trid=f5a8a8
- 93d80c4a94968417e759cd1378&uipk=5&upsig=cdf717ed1b6aad03f05ab9c430838e1d&uparams
- =e,deadline,gen,nbs,oi,os,platform,trid,uipk&mid=0"
- ]
- },
- "flv480": {
- "container": "flv",
- "quality": "清晰 480P",
- "size": 2969098,
- "src": [
- "http://cn-hbsjz2-cmcc-bcache-14.bilivideo.com/upgcxcode/43/20/1
- 95842043/195842043-1-32.flv?e=ig8euxZM2rNcNbhVhbUVhoMzhwNBhwdEto8g5X10ugNcXBlqNx
- HxNEVE5XREto8KqJZHUa6m5J0SqE85tZvEuENvNC8xNEVE9EKE9IMvXBvE2ENvNCImNEVEK9GVqJIwqa
- 80WXIekXRE9IMvXBvEuENvNCImNEVEua6m2jIxux0CkF6s2JZv5x0DQJZY2F8SkXKE9IB5QK==&deadl
- ine=1590653296&gen=playurl&nbs=1&oi=1862376489&os=bcache&platform=pc&trid=ecab99
- 3f655241a28a3fba70c3f1b63c&uipk=5&upsig=2b86065e41b9105365206cfd9335ef01&uparams
- =e,deadline,gen,nbs,oi,os,platform,trid,uipk&mid=0"
- ]
- },
- "flv360": {
- "container": "flv",
- "quality": "流暢 360P",
- "size": 1419499,
- "src": [
- "http://cn-hbsjz2-cmcc-bcache-07.bilivideo.com/upgcxcode/43/20/1
- 95842043/195842043-1-16.mp4?e=ig8euxZM2rNcNbRMhbUVhoM17wNBhwdEto8g5X10ugNcXBlqNx
- HxNEVE5XREto8KqJZHUa6m5J0SqE85tZvEuENvNC8xNEVE9EKE9IMvXBvE2ENvNCImNEVEK9GVqJIwqa
- 80WXIekXRE9IMvXBvEuENvNCImNEVEua6m2jIxux0CkF6s2JZv5x0DQJZY2F8SkXKE9IB5QK==&deadl
- ine=1590653296&gen=playurl&nbs=1&oi=1862376489&os=bcache&platform=pc&trid=1bc6f0
- ff38734f17af555299ba582fdc&uipk=5&upsig=fecb7363550829abd38ce95338bd9001&uparams
- =e,deadline,gen,nbs,oi,os,platform,trid,uipk&mid=0"
- ]
- },
- "dash-flv720": {
- "container": "mp4",
- "quality": "高清 720P",
- "src": [
- [
- "http://upos-sz-mirrorcos.bilivideo.com/upgcxcode/43/20/1958
- 42043/195842043-1-30064.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0
- GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0
- B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&dead
- line=1590653296&gen=playurl&os=cosbv&oi=0&trid=f2500098d3e94126b32b826aa4e3618eu
- &platform=pc&upsig=bcc17b791e60d0c3af03187d7553559e&uparams=e,uipk,nbs,deadline,
- gen,os,oi,trid,platform&mid=0&orderid=0,1&logo=80000000"
- ],
- [
- "http://upos-sz-mirrorcos.bilivideo.com/upgcxcode/43/20/1958
- 42043/195842043-1-30280.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0
- GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0
- B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&dead
- line=1590653296&gen=playurl&os=cosbv&oi=0&trid=f2500098d3e94126b32b826aa4e3618eu
- &platform=pc&upsig=bf8dd907f6798ea3521073e9026b0432&uparams=e,uipk,nbs,deadline,
- gen,os,oi,trid,platform&mid=0&orderid=0,1&logo=80000000"
- ]
- ],
- "size": 2925104
- },
- "dash-flv480": {
- "container": "mp4",
- "quality": "清晰 480P",
- "src": [
- [
- "http://upos-sz-mirrorcos.bilivideo.com/upgcxcode/43/20/1958
- 42043/195842043-1-30032.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0
- GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0
- B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&dead
- line=1590653296&gen=playurl&os=cosbv&oi=0&trid=f2500098d3e94126b32b826aa4e3618eu
- &platform=pc&upsig=8058ecd313c5966e78fcd959494a6c0e&uparams=e,uipk,nbs,deadline,
- gen,os,oi,trid,platform&mid=0&orderid=0,1&logo=80000000"
- ],
- [
- "http://upos-sz-mirrorcos.bilivideo.com/upgcxcode/43/20/1958
- 42043/195842043-1-30280.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0
- GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0
- B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&dead
- line=1590653296&gen=playurl&os=cosbv&oi=0&trid=f2500098d3e94126b32b826aa4e3618eu
- &platform=pc&upsig=bf8dd907f6798ea3521073e9026b0432&uparams=e,uipk,nbs,deadline,
- gen,os,oi,trid,platform&mid=0&orderid=0,1&logo=80000000"
- ]
- ],
- "size": 2953276
- },
- "dash-flv360": {
- "container": "mp4",
- "quality": "流暢 360P",
- "src": [
- [
- "http://upos-sz-mirrorcos.bilivideo.com/upgcxcode/43/20/1958
- 42043/195842043-1-30016.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0
- GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0
- B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&dead
- line=1590653296&gen=playurl&os=cosbv&oi=0&trid=f2500098d3e94126b32b826aa4e3618eu
- &platform=pc&upsig=0fd2520985dd06dde73125c6791c09a0&uparams=e,uipk,nbs,deadline,
- gen,os,oi,trid,platform&mid=0&orderid=0,1&logo=80000000"
- ],
- [
- "http://upos-sz-mirrorcos.bilivideo.com/upgcxcode/43/20/1958
- 42043/195842043-1-30216.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0
- GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0
- B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&dead
- line=1590653296&gen=playurl&os=cosbv&oi=0&trid=f2500098d3e94126b32b826aa4e3618eu
- &platform=pc&upsig=d8e2e202e8efd58c6674d14ecf8eb35e&uparams=e,uipk,nbs,deadline,
- gen,os,oi,trid,platform&mid=0&orderid=0,1&logo=80000000"
- ]
- ],
- "size": 1405370
- }
- },
- "extra": {
- "referer": "https://www.bilibili.com/video/BV1N5411x7gf/",
- "ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.3
- 6 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36"
- }
可以看到,所有的信息一覽無余,可以說是很全面了。
3.下載指定格式的視頻
我們喜歡哪個格式的視頻就將它下載下來。比如我想下載Mp4格式的720p高清視頻,可以這樣做:
4.將視頻下載到指定目錄并修改文件名
如果你想指定下載的文件名和文件目錄的話,可以這樣操作:
5.播放在線視頻
如果我們想要播放網(wǎng)頁中的視頻,那該怎么辦了?答案也是相當簡單,只需你在電腦上的本地視頻播放器目錄下(注:一定要是源程序位置,而不是快捷方式)打開Cmd窗口,然后輸入命令,指定視頻播放器播放網(wǎng)頁視頻即可:
6.Vip視頻下載
You-Get最牛逼的技能就是它可以下載Vip視頻,方法也很簡單,直接使用You-Get 再加上Url即可。
7.彈幕文件
我們在觀看嗶哩嗶哩的時候,可以看到一個視頻會有很多彈幕,比如這種:
然后我們將這個視頻下載下來,打開進行觀看:
發(fā)現(xiàn)不像網(wǎng)頁中有那么多彈幕,那么彈幕到哪里去了了。哦,原來它已經(jīng)被我們下載下來了,隨著Mp4文件一起下載下來了,只不過被放在了后綴為Xml的文件中,我們打開Xml文件看看:
在這里我要給大家推薦一個可以和嗶哩嗶哩一樣可以看彈幕的視頻播放器BililLocal。打開后選擇原視頻和Xml文件,
然后在選擇播放按鈕,
這樣就可以播放帶彈幕的視頻了,是不是很有趣了。如果你想將彈幕文字保留下來,留作它用,你可以將它提取出來,至于提取方法嘛,自然是使用我們?nèi)f能的正則表達式啦。
這樣就得到了全部的彈幕了。
8.下載圖片,音樂
You-Get除了可以下載視頻,還有什么圖片,音樂都可以下載的,只有我們想不到的,沒有You-Get做不到的。
我們可以隨便找一張圖片,然后拿到它的Url地址,放到Y(jié)ou-Get中下載。
隨機選擇一張圖片,然后復(fù)制圖片Url地址,然后進行下載:
可以看到,成功下載到了圖片了。其實下載音樂也是很簡單的,只需要把Url改為音頻的Url即可,它可以進行自動解析,然后下載的。
9.批量下載
當我們在你嗶哩嗶哩看視頻的時候,一個頁面往往會有多個視頻,這個時候我們一個一個的下載很顯然太慢,可不可以一下子全部都下載了?答案當然是可以的。只需要使用--playlist參數(shù)即可,我們來看下:
隨便打開一個Up主的視頻,視頻中必須帶有多個章節(jié)視頻,這樣才方便我們測試。
可以看到已經(jīng)下載到了第十二集了,速度可以說是相當?shù)目炝耍詈?,最后我們?nèi)プ烂婵纯矗?/p>
也是剛好下載了這么多。
10.代理下載
如果你訪問過于頻繁,Ip很有可能面臨暫時被封的封的風(fēng)險,這個時候就需要我們使用代理了,常用的免費代理網(wǎng)站有西刺,可以使用它上面的免費代理來進行視頻的下載,但是它的免費代理可用時間是有限制的,而且不穩(wěn)定。所以,自求多福吧,希望不會在視頻下到一半就出現(xiàn)拒絕訪問的尷尬場面。代理下載視頻的格式也是有簡單:
- You-Get -x host:post url
11.通過Cookie文件看視頻
有很多視頻不是我們一進網(wǎng)站就可以看的,有的需要登陸,那么這個時候就需要用到Cookie。操作也很簡單,只需要將網(wǎng)頁中的Cookie信息寫入到文本文件中,然后再用You-Get讀取Cookie即可,用法如下:
- You-Get cookie.txt url
三、總結(jié)
You-Get的確是一個神器,功能強大,而且十分方便,有了它,基本上下載方面的事兒通通都搞定了。