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 ...
随机推荐
- 【算法】解析IEEE 754 标准
目录结构: contents structure [-] 浮点数的存储过程 次正规数(Denormalized Number) 零(zero) 非数值(NaN) 无穷大(infinity) 除数为0. ...
- Beautiful Soup 解决爬虫编码格式问题,Beautiful Soup编码格式
一. 为什么要用解析框架 bs4 我觉得爬虫最难得问题就是编码格式,因为你不知道要爬取目标网站的编码格式,有可能是Unicode,utf-8, ASCII , gbk格式,但是使用Beautiful ...
- CTF线下防御战 — 让你的靶机变成“铜墙铁壁”
本文首发安全客,未经允许禁止转载.原文链接 一. 前言 随着CTF的普及,比赛的形式也有了越来越多的花样,对于线下赛来说,开始出现了安全加固或者防御战之类的环节,亦或者因为拿下靶机后不希望其他攻击者进 ...
- session_id()和session_regenerate_id()对原来session文件和其中数据是怎么处理的
一.session_id()对原来session文件和里面的数据,是怎么处理的? 测验办法:<?php $sid = md5("aaad");session_id($sid) ...
- ng-repeat 的重复问题
如果ng-repeat绑定的数组中元素有重复, 如 $scope.data = [1,2,2] ng-repeat="value in data" //这种写法就会报错,ngRe ...
- .NET Core 2.1中的HttpClientFactory最佳实践
ASP.NET Core 2.1中出现一个新的HttpClientFactory功能, 它有助于解决开发人员在使用HttpClient实例从其应用程序发出外部Web请求时可能遇到的一些常见问题. 介绍 ...
- 34对MyBatis的博客的整理心得
对本博客的mybatis重新读一下,做一个整理.如下: 1:为什么会有mybatis,因为原生的jdbc方式有很大问题: (1)数据库连接,使用时就创建,不使用立即释放,对数据库进行频繁连接开启和关闭 ...
- Android 8 蓝牙 扫描流程
记录android 8 蓝牙扫描设备的流程 src/com/android/settings/bluetooth/BluetoothSettings.java @Override protected ...
- 为何GET只发一次TCP连接,POST发两次TCP连接
GET和POST是HTTP请求的两种基本方法,要说他们的区别,接触过WEB开发的人都能说出一二. 最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数. 你可能自己 ...
- Ext-JS-Classic-Demo 面向pc端示例
基于Ext Js 6.5.1 面向pc端示例,低于此版本可能存在兼容问题,慎用 已忽略编译目录,请自行编译运行 Sencha Cmd 版本:v6.5.1.240 git地址:https://githu ...