you-get模块
You-Get是一个基于 Python 3 的下载工具。使用 You-Get 可以很轻松的下载到网络上的视频、图片及音乐。
转载https://www.cnblogs.com/wangchuanyang/p/6435994.html
项目主页:https://github.com/soimort/you-get
You-Get 主页:https://you-get.org/
You-Get 原版中文说明:https://github.com/soimort/you-get/wiki/中文说明/
作者:soimort
Python 是一款跨平台编程语言,Liunx 以及 Mac OS 下都可以使用,此处展示仅使用 Windows。
0x01 使用 You-Get 下载视频
Step1 下载与安装 Python 3
1.访问Python 官方网站下载对应版本的Python,You-Get基于Python 3,建议下载 Python 3.5.1。
2.安装 Python 3.5.1,注意勾选Add Python 3.5 to PATH
3.按Win+R
键打开运行,输入cmd
,再输入python
并回车执行,如果出现如下界面,则代表安装成功。
Step2 安装You-Get
1.打开cmd
,输入命令并执行
pip3 install you-get
2.输入命令,检测 You-Get 是否安装成功
you-get
Step3 开始下载吧
打开cmd
输入命令
you-get [视频地址]
e.g.下载一段美拍视频
输入如下命令
you-get http://www.meipai.com/media/454570774
文件保存在C:\Users\用户名
目录下,如果想自定义保存位置,使用如下命令即可
e.g.下载一段美拍视频并保存在E:\Desktop
you-get -o E:/Desktop http://www.meipai.com/media/454570774
0x02 You-Get 有关视频的其他用法
You-Get仅用来下载视频显得有些大材小用了,作者也给出了You-Get的一些其他用法,这里着重介绍几个。
1.选择视频下载格式和清晰度
通常网页视频的格式为.flv
,但部分网站会提供好几种视频格式,我们可以使用 You-Get 下载这些视频。
e.g.下载一段优酷视频
1.查看当前视频的清晰度和格式
you-get -i http://v.youku.com/v_show/id_XMTQ2NzQyMjY1Ng.html
2.选择需要下载的清晰度及格式
you-get --format=hd2 http://v.youku.com/v_show/id_XMTQ2NzQyMjY1Ng.html
2.在本地播放器中播放流媒体视频
Flash 因CPU占用高被嗤之以鼻,而 You-Get 可以直接在本地播放器中播放网页视频。类似功能的还有Livestreamer这个神奇的工具。
e.g.在 PotPlayer 中播放一段下面这段爱奇艺视频
(视频链接:http://www.iqiyi.com/v_19rrgzy5ls.html)
1.在资源管理器中打开 PotPlayer 安装目录
2.按住Shift
并右击鼠标,选择在此处打开命令窗口
3.输入下面的 You-Get 播放命令即可
you-get -p PotPlayerMini64.exe http://v.youku.com/v_show/id_XMTY0MTA4ODM1Mg==.html
(注意 PotPalyer 可执行文件的文件名的大小写,大小写错误将会导致 you-get 报错,如果 Potplayer 播放失败请尝试使用 VLC 进行播放)
3.暂停下载与继续下载
1.暂停下载:和Linux一样,按Ctrl+C
可以中断命令,下载目录下会保存有一个以.download
为扩展名的缓存文件。
2.继续下载:重新执行下载任务,如果下载目录下有上次下载保存的缓存文件,则继续上次下载进度。
3.强制重新下载(即使下载完成也会重新写入):
you-get -f http://www.meipai.com/media/437971164
4.下载视频列表中的所有视频
优酷等网站会提供视频列表,而 You-Get 可以通过视频列表进行批量下载。
e.g.下载一个优酷视频专辑
you-get http://www.youku.com/playlist_show/id_25917721.html
5.下载Bilibili视频的弹幕
看Bilibili没有弹幕简直失去了人生一大乐趣,You-Get同样提供了弹幕下载功能。
1.输入命令下载 Bilibili 视频
2.下载完成后会自动下载.xml
格式的弹幕
3.使用Danmu2Ass将.xml
格式转换为.ass
格式
4.打开播放器,将.ass
文件加载即可
0x03 You-Get 下载图片
You-Get 不但支持视频下载,同样支持图片下载,支持的站点已在其主页列出,部分网站支持批量下载。
1.访问网站
2.点击图片/帖子,进入图片/帖子详情
3.复制地址到 You-Get 下载即可
截图中展现了一些例子
0x04 其他的一些
1.使用 You-Get 建议先安装FFmpeg或 Libav
4.部分网站在中国大陆可能无法访问,如果想正常访问这些网站,可以去问问神奇海螺。
you-get模块的更多相关文章
- npm 私有模块的管理使用
你可以使用 NPM 命令行工具来管理你在 NPM 仓库的私有模块代码,这使得在项目中使用公共模块变的更加方便. 开始前的工作 你需要一个 2.7.0 以上版本的 npm ,并且需要有一个可以登陆 np ...
- node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理
一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...
- ES6模块import细节
写在前面,目前浏览器对ES6的import支持还不是很好,需要用bable转译. ES6引入外部模块分两种情况: 1.导入外部的变量或函数等: import {firstName, lastName, ...
- Python标准模块--ContextManager
1 模块简介 在数年前,Python 2.5 加入了一个非常特殊的关键字,就是with.with语句允许开发者创建上下文管理器.什么是上下文管理器?上下文管理器就是允许你可以自动地开始和结束一些事情. ...
- Python标准模块--Unicode
1 模块简介 Python 3中最大的变化之一就是删除了Unicode类型.在Python 2中,有str类型和unicode类型,例如, Python 2.7.6 (default, Oct 26 ...
- Python标准模块--Iterators和Generators
1 模块简介 当你开始使用Python编程时,你或许已经使用了iterators(迭代器)和generators(生成器),你当时可能并没有意识到.在本篇博文中,我们将会学习迭代器和生成器是什么.当然 ...
- 自己实现一个javascript事件模块
nodejs中的事件模块 nodejs中有一个events模块,用来给别的函数对象提供绑定事件.触发事件的能力.这个别的函数的对象,我把它叫做事件宿主对象(非权威叫法),其原理是把宿主函数的原型链指向 ...
- 理解nodejs模块的scope
描述 原文档地址:https://docs.npmjs.com/misc/scope 所有npm模块都有name,有的模块的name还有scope.scope的命名规则和name差不多,同样不能有ur ...
- nodejs模块发布及命令行程序开发
前置技能 npm工具为nodejs提供了一个模块和管理程序模块依赖的机制,当我们希望把模块贡献出去给他人使用时,可以把我们的程序发布到npm提供的公共仓库中,为了方便模块的管理,npm规定要使用一个叫 ...
- 开始学nodejs——net模块
net模块的组成部分 详见 http://nodejs.cn/api/net.html 下面整理出了整个net模块的知识结构,和各个事件.方法.属性的用法 net.Server类 net.Socket ...
随机推荐
- caffe可重入单例机制分析
一个函数可重入是指该函数可以被多个线程同时调用.大多数函数都不是可重如的,因为很多函数会修改静态数据结构里的内容,如果多个线程同时调用,势必破坏共享的静态结构.可以在不改变公共接口的情况下,将一个非重 ...
- IDEA设置换行符为Unix编码格式,设置编码统一为UTF-8,自动生成serialVersionUID
设置换行符为Unix编码格式 设置编码统一为UTF-8 自动生成serialVersionUID.勾选"Serializable class without serialVersionUID ...
- 框架源码系列十:Spring AOP(AOP的核心概念回顾、Spring中AOP的用法、Spring AOP 源码学习)
一.AOP的核心概念回顾 https://docs.spring.io/spring/docs/5.1.3.RELEASE/spring-framework-reference/core.html#a ...
- 接口和多态都为JAVA技术的核心。
类必须实现接口中的方法,否则其为一抽象类. 实现中接口和类相同. 接口中可不写public,但在子类中实现接口的过程中public不可省. (如果剩去public则在编译的时候提示出错:对象无法从 ...
- windows 端口被占用,并杀死进程的方法
netstat -ano | findstr 8081 查询端口 被什么进程占用 tasklist | findstr 2184 根据进程号 查询任务名称 taskkill /f /t /im jav ...
- CPU高速缓存行与内存关系 及并发MESI 协议
先来一个整体图 一. 大致关系: CPU Cache --> 前端总线 FSB (下图中的Bus) --> Memory 内存 CPU 为了更快的执行代码.于是当从内存中读取数据时,并不是 ...
- mac 互传文件
搭建HTTP服务,然后局域网访问就行 PHP方式: php -S 172.21.205.xxx:9999 Python python -m SimpleHTTPServer 8001 在浏览器访问:h ...
- shell中uniq与sort -u 两种去重的对别
sort -u 和 uniq都能起到删除重复信息的功能,那么他们的区别究竟在哪呢?$ cat test jasonjasonjasonfffffjason 下面分别执行三个命 ...
- unity 5.3 以后加载场景
记录下官方建议的加载场景的方法: StartCoroutine(LoadYourAsyncScene()); IEnumerator LoadYourAsyncScene() { // The App ...
- JIRA应用的内存参数设置不当+容器没有对资源进行限制导致服务挂掉的例子
背景: 应用的部署结构是这样的:使用rancher管理的Docker集群,有三台物理主机,二十多个Docker容器, 提供的功能是问题跟踪(JIRA),文档管理(Confluence),代码托管(sv ...