作为b站的粉丝,在逛的时候,收藏过很多制作精良、满满都是干货的视频,然鹅,一段时间过去,这些视频可能会下架,因此,如何能把这些视频及时保存下来,就成了一大心事,直到遇到了you-get!!!😘
话不多说,开始我们的you-get之旅吧! for more details:https://github.com/soimort/you-get
目录
一、安装二、使用1.查看画质2.暂停并恢复下载3.指定下载输出的目录4.指定下载的视频的文件名5.命令解释6.支持的网站
三、安装中出现的一些问题问题1:pip执行过程中爆红,出现read time out问题2:you-get不是内部或外部命令,也不是可运行的程序或批处理文件。问题3:下载b站视频时,seid不是内部或外部命令,也不是可运行的程序或批处理文件。
参考文档
一、安装
安装的过程很简单,直接在命令行中输入
pip install you
-get
//或者是
pip3 install you
-get
然后会出现如下的过程,出现successful就是成功的标志。 在命令行输入you-get,会展示出可用的命令和含义
二、使用
以b站视频为例,研究视频下载的过程
1.查看画质
输入命令 you-get -i https://www.bilibili.com/video/BV1Dz411v7qE
标有DEFAULT 为默认画质。
标有DASH 指的是质量最高的视频(音频/图像) 命令参考:
//指定一个版本下载
you-get --format=dash-flv https://www.bilibili.com/video/BV1Dz411v7qE
//什么都不加,就是默认
you-get https://www.bilibili.com/video/BV1Dz411v7qE
2.暂停并恢复下载
可以使用 + 来中断下载。Ctrl+C
临时文件保存在输出目录中。下次使用相同的参数运行时,下载进度将从上一个会话恢复。如果文件完全下载(临时扩展名已消失),将跳过下载。
如果不指定 目录,you-get会把文件下载到
C:/Users/xxxx(系统用户名)/下
3.指定下载输出的目录
可以使用-o DIR 或者--output-dir DIR命令,这里是小写的字母o
如:
you-get -o E:/test4 https://www.bilibili.com/video/BV1Dz411v7qE
4.指定下载的视频的文件名
可以使用或者 -O FILE 或者 --output-filename FILE命令,这里是大写的字母O,不是数字0
文件名不需要跟后缀。
you-get -o E:/test4 -O test https://www.bilibili.com/video/BV1Dz411v7qE
5.命令解释
C:\Users\60913>you
-get
usage: you
-get
[OPTION]... URL
...
//方括号表示这一项是可选项
//这里提示了使用方法, you
-get
[具体配置,可看下面的命令
] 下载链接
可选参数
命令英文说明中文含义
-V, --versionPrint version and exit打印出you-get的版本号,并退出you-get-h, --helpPrint this help message and exit打印出提示信息,并退出you-get
空运行,预检选项(意思就是不会真的开始下载)
命令英文说明中文含义
-i, --infoPrint extracted information打印待下载内容的相关信息-u, --urlPrint extracted information with URLs打印出url的更多信息–jsonPrint extracted URLs in JSON format以json格式打印出待下载的url的详细信息
下载选项
命令英文说明中文含义
-n, --no-mergeDo not merge video parts不合并视频–no-captionDo not download captions (subtitles, lyrics, danmak…)不加字慕等-f, --forceForce overwriting existing files覆盖原先下载的文件–skip-existing-file-size-checkSkip existing file without checking file size跳过现有文件而不检查文件大小-F STREAM_ID, --format STREAM_IDSet video format to STREAM_ID把视频格式设置为流id-O FILE, --output-filename FILESet output filename设置输出文件的名称-o DIR, --output-dir DIRSet output directory设置输出文件夹,即存放在哪一个文件夹下-p PLAYER, --player PLAYERStream extracted URL to a PLAYER使用 --player/-p 将视频喂进播放器, 例如 mplayer 或者 vlc,而不是下载: 把流提取的url放到播放器-c COOKIES_FILE, --cookies COOKIES_FILELoad cookies.txt or cookies.sqlite并非所有视频可供任何人观看。如果需要登录以观看 (例如, 私密视频), 可能必须将浏览器cookie通过–cookies/-c 加载入 you-get.注意:目前支持两种cookie格式:Mozilla cookies.sqlite 和 Netscape cookies.txt.-t SECONDS, --timeout SECONDSSet socket timeout设置套接字超时-d, --debugShow traceback and other debug info显示回溯和其他debug信息-I FILE, --input-file FILERead non-playlist URLs from FILE从文件里读取非播放列表的url-P PASSWORD, --password PASSWORDSet video visit password to PASSWORD设置视频访问密码-l, --playlistPrefer to download a playlist批量下载-a, --auto-renameAuto rename same name different files自动重命名相同文件名的文件-k, --insecureignore ssl errors忽略ssl报错
代理选项
命令英文说明中文含义
-x HOST:PORT, --http-proxy HOST:PORTUse an HTTP proxy for downloading使用http代理来下载,这里的写法是-x ip地址:端口号或者是写成–http-proxy IP地址:端口号–no-proxyNever use a proxy不使用代理-y HOST:PORT, --extractor-proxy HOST:PORTUse an HTTP proxy for extracting only使用HTTP代理仅用于提取-s HOST:PORT, --socks-proxy HOST:PORTUse an SOCKS5 proxy for downloading使用SOCKS5代理下载
6.支持的网站
网址链接视频?图片?音频?
YouTubehttps://www.youtube.com/✓Twitterhttps://twitter.com/✓✓VKhttp://vk.com/✓✓Vinehttps://vine.co/✓Vimeohttps://vimeo.com/✓Veohhttp://www.veoh.com/✓Tumblrhttps://www.tumblr.com/✓✓✓TEDhttp://www.ted.com/✓SoundCloudhttps://soundcloud.com/✓SHOWROOMhttps://www.showroom-live.com/✓Pinteresthttps://www.pinterest.com/✓MTV81http://www.mtv81.com/✓Mixcloudhttps://www.mixcloud.com/✓Metacafehttp://www.metacafe.com/✓Magistohttp://www.magisto.com/✓Khan Academyhttps://www.khanacademy.org/✓Internet Archivehttps://archive.org/✓Instagramhttps://instagram.com/✓✓InfoQhttp://www.infoq.com/presentations/✓Imgurhttp://imgur.com/✓Heavy Music Archivehttp://www.heavy-music.ru/✓Freesoundhttp://www.freesound.org/✓Flickrhttps://www.flickr.com/✓✓FC2 Videohttp://video.fc2.com/✓Facebookhttps://www.facebook.com/✓eHowhttp://www.ehow.com/✓Dailymotionhttp://www.dailymotion.com/✓Coubhttp://coub.com/✓CBShttp://www.cbs.com/✓Bandcamphttp://bandcamp.com/✓AliveThaihttp://alive.in.th/✓interest.mehttp://ch.interest.me/tvn✓755ナナゴーゴーhttp://7gogo.jp/✓✓niconicoニコニコ動画http://www.nicovideo.jp/✓163网易视频网易云音乐http://v.163.com/ http://music.163.com/✓✓56网http://www.56.com/✓AcFunhttp://www.acfun.cn/✓Baidu百度贴吧http://tieba.baidu.com/✓✓爆米花网http://www.baomihua.com/✓bilibili哔哩哔哩http://www.bilibili.com/✓✓✓豆瓣http://www.douban.com/✓✓斗鱼http://www.douyutv.com/✓凤凰视频http://v.ifeng.com/✓风行网http://www.fun.tv/✓iQIYI爱奇艺http://www.iqiyi.com/✓激动网http://www.joy.cn/✓酷6网http://www.ku6.com/✓酷狗音乐http://www.kugou.com/✓酷我音乐http://www.kuwo.cn/✓乐视网http://www.le.com/✓荔枝FMhttp://www.lizhi.fm/✓秒拍http://www.miaopai.com/✓MioMio弹幕网http://www.miomio.tv/✓MissEvan猫耳FMhttp://www.missevan.com/✓痞客邦https://www.pixnet.net/✓PPTV聚力http://www.pptv.com/✓齐鲁网http://v.iqilu.com/✓QQ腾讯视频http://v.qq.com/✓企鹅直播http://live.qq.com/✓Sina新浪视频微博秒拍视频http://video.sina.com.cn/ http://video.weibo.com/✓Sohu搜狐视频http://tv.sohu.com/✓Tudou土豆http://www.tudou.com/✓虾米http://www.xiami.com/✓✓阳光卫视http://www.isuntv.com/✓音悦Taihttp://www.yinyuetai.com/✓Youku优酷http://www.youku.com/✓战旗TVhttp://www.zhanqi.tv/lives✓央视网http://www.cntv.cn/✓Naver네이버http://tvcast.naver.com/✓芒果TVhttp://www.mgtv.com/✓火猫TVhttp://www.huomao.com/✓阳光宽频网http://www.365yg.com/✓西瓜视频https://www.ixigua.com/✓新片场https://www.xinpianchang.com//✓快手https://www.kuaishou.com/✓✓抖音https://www.douyin.com/✓TikTokhttps://www.tiktok.com/✓中国体育(TV)http://v.zhibo.tv/ http://video.zhibo.tv/✓知乎https://www.zhihu.com/✓
三、安装中出现的一些问题
问题1:pip执行过程中爆红,出现read time out
首先检查是否是自己的网络不稳定或者网速太慢。
这个时候可以考虑使用国内镜像源进行加速度。
https
://pypi
.tuna
.tsinghua
.edu
.cn
/simple
http
://mirrors
.aliyun
.com
/pypi
/simple
/
https
://pypi
.mirrors
.ustc
.edu
.cn
/simple
/
http
://pypi
.hustunique
.com
/
http
://pypi
.sdutlinux
.org
/
http
://pypi
.douban
.com
/simple
/
临时指定镜像的方法是,在pip命令后,加一个 -i ,然后跟上上面的镜像地址 永久改变镜像的方法是,修改pip的配置文件。
对于windows用户,可以按照如下操作:
直接在user目录中创建一个pip目录,如:C
:\Users\xx\pip
新建文件 pip
.ini 内容
[global]
index
-url
= http
://pypi
.douban
.com
/simple
trusted
-host
= pypi
.douban
.com
disable
-pip
-version
-check
= true
timeout
= 120
或者
[global]
index
-url
= https
://pypi
.tuna
.tsinghua
.edu
.cn
/simple
trusted
-host
= pypi
.tuna
.tsinghua
.edu
.cn
disable
-pip
-version
-check
= true
timeout
= 120
其中,index-url 源,可以换成其他的源 trusted-host 添加源为可信主机,要不然可能报错
disable-pip-version-check 设置为true取消pip版本检查,排除每次都报最新的pip
timeout 超时设置。
对于linux用户,可以按照如下操作:
修改
~/.pip
/pip
.conf
(没有就自己创建
), 增加或者修改 index
-url 至源
[global]
index
-url
= https
://pypi
.tuna
.tsinghua
.edu
.cn
/simple
trusted
-host
= pypi
.tuna
.tsinghua
.edu
.cn
disable
-pip
-version
-check
= true
豆瓣源使用
mkdir
-p
~/.pip
echo
-e
'[global]\ntrusted-host = pypi.douban.com\nindex-url = http://pypi.douban.com/simple' > ~/.pip
/pip
.conf
问题2:you-get不是内部或外部命令,也不是可运行的程序或批处理文件。
这是由于环境变量没有配置成功,可以用pip uninstall you-get卸载掉,然后重新安装
问题3:下载b站视频时,seid不是内部或外部命令,也不是可运行的程序或批处理文件。
可以把命令改为:&seid= 变为 %3D
//原本是这样
https://www.bilibili.com/video/BV1xE411j78R?from=search&seid=12492812551117772852
//把seid改为
https://www.bilibili.com/video/BV1xE411j78R?from=search%3D12492812551117772852
参考文档
python国内镜像加速you-get中文说明