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

You-Get

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

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格式的弹幕

Bilibili视频及弹幕下载

3.使用Danmu2Ass.xml格式转换为.ass格式
4.打开播放器,将.ass文件加载即可

PotPlayer中加载弹幕

0x03 You-Get 下载图片

You-Get 不但支持视频下载,同样支持图片下载,支持的站点已在其主页列出,部分网站支持批量下载。
1.访问网站
2.点击图片/帖子,进入图片/帖子详情
3.复制地址到 You-Get 下载即可

截图中展现了一些例子

Twitter

Imgur

Flickr

Pinterest

0x04 其他的一些

1.使用 You-Get 建议先安装FFmpeg或 Libav
4.部分网站在中国大陆可能无法访问,如果想正常访问这些网站,可以去问问神奇海螺。

you-get模块的更多相关文章

  1. npm 私有模块的管理使用

    你可以使用 NPM 命令行工具来管理你在 NPM 仓库的私有模块代码,这使得在项目中使用公共模块变的更加方便. 开始前的工作 你需要一个 2.7.0 以上版本的 npm ,并且需要有一个可以登陆 np ...

  2. node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理

    一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...

  3. ES6模块import细节

    写在前面,目前浏览器对ES6的import支持还不是很好,需要用bable转译. ES6引入外部模块分两种情况: 1.导入外部的变量或函数等: import {firstName, lastName, ...

  4. Python标准模块--ContextManager

    1 模块简介 在数年前,Python 2.5 加入了一个非常特殊的关键字,就是with.with语句允许开发者创建上下文管理器.什么是上下文管理器?上下文管理器就是允许你可以自动地开始和结束一些事情. ...

  5. Python标准模块--Unicode

    1 模块简介 Python 3中最大的变化之一就是删除了Unicode类型.在Python 2中,有str类型和unicode类型,例如, Python 2.7.6 (default, Oct 26 ...

  6. Python标准模块--Iterators和Generators

    1 模块简介 当你开始使用Python编程时,你或许已经使用了iterators(迭代器)和generators(生成器),你当时可能并没有意识到.在本篇博文中,我们将会学习迭代器和生成器是什么.当然 ...

  7. 自己实现一个javascript事件模块

    nodejs中的事件模块 nodejs中有一个events模块,用来给别的函数对象提供绑定事件.触发事件的能力.这个别的函数的对象,我把它叫做事件宿主对象(非权威叫法),其原理是把宿主函数的原型链指向 ...

  8. 理解nodejs模块的scope

    描述 原文档地址:https://docs.npmjs.com/misc/scope 所有npm模块都有name,有的模块的name还有scope.scope的命名规则和name差不多,同样不能有ur ...

  9. nodejs模块发布及命令行程序开发

    前置技能 npm工具为nodejs提供了一个模块和管理程序模块依赖的机制,当我们希望把模块贡献出去给他人使用时,可以把我们的程序发布到npm提供的公共仓库中,为了方便模块的管理,npm规定要使用一个叫 ...

  10. 开始学nodejs——net模块

    net模块的组成部分 详见 http://nodejs.cn/api/net.html 下面整理出了整个net模块的知识结构,和各个事件.方法.属性的用法 net.Server类 net.Socket ...

随机推荐

  1. caffe可重入单例机制分析

    一个函数可重入是指该函数可以被多个线程同时调用.大多数函数都不是可重如的,因为很多函数会修改静态数据结构里的内容,如果多个线程同时调用,势必破坏共享的静态结构.可以在不改变公共接口的情况下,将一个非重 ...

  2. IDEA设置换行符为Unix编码格式,设置编码统一为UTF-8,自动生成serialVersionUID

    设置换行符为Unix编码格式 设置编码统一为UTF-8 自动生成serialVersionUID.勾选"Serializable class without serialVersionUID ...

  3. 框架源码系列十:Spring AOP(AOP的核心概念回顾、Spring中AOP的用法、Spring AOP 源码学习)

    一.AOP的核心概念回顾 https://docs.spring.io/spring/docs/5.1.3.RELEASE/spring-framework-reference/core.html#a ...

  4. 接口和多态都为JAVA技术的核心。

    类必须实现接口中的方法,否则其为一抽象类. 实现中接口和类相同.   接口中可不写public,但在子类中实现接口的过程中public不可省. (如果剩去public则在编译的时候提示出错:对象无法从 ...

  5. windows 端口被占用,并杀死进程的方法

    netstat -ano | findstr 8081 查询端口 被什么进程占用 tasklist | findstr 2184 根据进程号 查询任务名称 taskkill /f /t /im jav ...

  6. CPU高速缓存行与内存关系 及并发MESI 协议

    先来一个整体图 一. 大致关系: CPU Cache --> 前端总线 FSB (下图中的Bus) --> Memory 内存 CPU 为了更快的执行代码.于是当从内存中读取数据时,并不是 ...

  7. mac 互传文件

    搭建HTTP服务,然后局域网访问就行 PHP方式: php -S 172.21.205.xxx:9999 Python python -m SimpleHTTPServer 8001 在浏览器访问:h ...

  8. shell中uniq与sort -u 两种去重的对别

    sort -u 和 uniq都能起到删除重复信息的功能,那么他们的区别究竟在哪呢?$ cat test              jasonjasonjasonfffffjason 下面分别执行三个命 ...

  9. unity 5.3 以后加载场景

    记录下官方建议的加载场景的方法: StartCoroutine(LoadYourAsyncScene()); IEnumerator LoadYourAsyncScene() { // The App ...

  10. JIRA应用的内存参数设置不当+容器没有对资源进行限制导致服务挂掉的例子

    背景: 应用的部署结构是这样的:使用rancher管理的Docker集群,有三台物理主机,二十多个Docker容器, 提供的功能是问题跟踪(JIRA),文档管理(Confluence),代码托管(sv ...