用 pytube 爬取 youtube 视频
这个方法比直接用浏览器插件逼格高点
1. 简介
需要用到 pytube 这个第三方库:https://github.com/nficano/pytube 这里只是把这个页面捡重要部分翻译了一下。
pytube 有如下特色:
1. 它是 python 的一个轻量级库,不需要依赖第三方库,因此十分可靠
2. 允许程序员选择下载视频的分辨率
3. pipelining easy, 你可以为不同的下载事件指定不同的回调函数
4. 包含命令行工具,可以直接从终端下载视频
2. 安装
pip install pytube
3. 库的使用
from pytube import YouTube # pprint-pretty print 不必要,仅仅为了让输出更好看,每个视频文件占一行
from pprint import pprint yt = YouTube("http://www.youtube.com/watch?v=Ik-RsDGPI5Y") # 显示所有可以下载的视频文件
pprint(yt.get_videos()) # 显示视频文件名
print(yt.filename) # 设置视频文件名
yt.set_filename('myFirstVideo') # 根据文件类型过滤视频文件
pprint(yt.filter('flv')) # 由于排序是按清晰度从低到高,所以可以用 -1 索引到最高清版本
print(yt.filter('.mp4')[-1]) # 根据清晰度过滤文件
pprint(yt.filter(resolution='480p')) # 通过文件类型和清晰度指定下载的视频
video = yt.get('mp4','720p') # 如果有多个相同类型,或者相同清晰度的文件,则不能仅指定一种格式来下载视频,例如下面一行可能会报错:
video = yt.get('mp4') # 其实,上面的 video 完全可以用过滤+索引的方式获得,不一定非得用 get 方法
video = yt.filter('.mp4')[-1] # 下载到指定路径
video.download('/home/Desktop')
4. 命令行工具的使用
传入参数 -e (或者 --extension=)来设置下载的文件类型
$ pytube -e mp4 https://www.youtube.com/watch?v=hMPBSwexqG8
传入 -r 设定清晰度
$ pytube -r 720p https://www.youtube.com/watch?v=hMPBSwexqG8
传入 -p 设置保存路径
$ pytube -r 720p -p ~/Downloads/ https://www.youtube.com/watch?v=hMPBSwexqG8
传入 -f 设置保存名称
$ pytube -e mp4 -f liangjian https://www.youtube.com/watch?v=hMPBSwexqG8
同时设置下载的类型和清晰度
$ pytube -e mp4 -r 720p https://www.youtube.com/watch?v=hMPBSwexqG8
用 pytube 爬取 youtube 视频的更多相关文章
- python爬取youtube视频 多线程 非中文自动翻译
声明:我写的所有文章都是发在博客园的,我看到其他复制粘贴过去的 连个出处也不写,直接打上自己的水印...真是没的说了. 前言:前段时间搞了一些爬视频的项目,代码都写好了,这里写文章那就在来重新分析一遍 ...
- 【Python爬虫案例学习2】python多线程爬取youtube视频
转载:https://www.cnblogs.com/binglansky/p/8534544.html 开发环境: python2.7 + win10 开始先说一下,访问youtube需要那啥的,请 ...
- nodejs爬虫笔记(三)---爬取YouTube网站上的视频信息
思路:通过笔记(二)中代理的设置,已经可以对YouTube的信息进行爬取了,这几天想着爬取网站下的视频信息.通过分析YouTube,发现可以从订阅号入手,先选择几个订阅号,然后爬取订阅号里面的视频分类 ...
- Python3 多线程爬取梨视频
多线程爬取梨视频 from threading import Thread import requests import re # 访问链接 def access_page(url): respons ...
- python爬取豆瓣视频信息代码
目录 一:代码 二:结果如下(部分例子) 这里是爬取豆瓣视频信息,用pyquery库(jquery的python库). 一:代码 from urllib.request import quote ...
- requests爬取梨视频主页所有视频
爬取梨视频步骤: 1.爬取梨视频主页,获取主页所有的详情页链接 - url: https://www.pearvideo.com/ - 1) 往url发送请求,获取主页的html文本 - 2) 解析并 ...
- python爬虫实践——爬取“梨视频”
一.爬虫的基本过程: 1.发送请求(请求库:request,selenium) 2.获取响应数据()服务器返回 3.解析并提取数据(解析库:re,BeautifulSoup,Xpath) 4.保存数据 ...
- 使用requests爬取梨视频、bilibili视频、汽车之家,bs4遍历文档树、搜索文档树,css选择器
今日内容概要 使用requests爬取梨视频 requests+bs4爬取汽车之家 bs4遍历文档树 bs4搜索文档树 css选择器 内容详细 1.使用requests爬取梨视频 # 模拟发送http ...
- python爬取快手视频 多线程下载
就是为了兴趣才搞的这个,ok 废话不多说 直接开始. 环境: python 2.7 + win10 工具:fiddler postman 安卓模拟器 首先,打开fiddler,fiddler作为htt ...
随机推荐
- SQL Server中的日期格式化
SQL Server中文版的默认的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm 例如: select getdate() 2004-09-12 11:06:08 ...
- LeetCode 201 Bitwise AND of Numbers Range 位运算 难度:0
https://leetcode.com/problems/bitwise-and-of-numbers-range/ [n,m]区间的合取总值就是n,m对齐后前面一段相同的数位的值 比如 5:101 ...
- C#之事件
事件,是C#编程模型中重要的一个概念,通过对事件的理解,可以更好的了解C#程序运行机制.C#中的事件,可以简单的理解为类或者对象发生了一件事,并且把这件事通知给了其他的类或者对象,其他的类或者对象可以 ...
- 计算机网络(13)-----java nio手动实现简单的http服务器
java nio手动实现简单的http服务器 需求分析 最近在学习HTTP协议,还是希望动手去做一做,所以就自己实现了一个http服务器,主要功能是将http请求封装httpRequest,通过解析 ...
- CONTAINING_RECORD的实现
// 9.25.cpp : 定义控制台应用程序的入口点.///*----------------------------CONTAINING_RECODER的实现------------------- ...
- Qt之指针与float--setNum使用
案例: quint8 ad[8] = {0,100,150,200,0,220,230,250}; QString str; QString str2; ab = (float)(*((float * ...
- x-forward-for详解
转载:http://www.360doc.com/content/14/0110/17/15459414_344165975.shtml 如今利用nginx做负载均衡的实例已经很多了,针对不同的应用场 ...
- eap-ttls/mschapv2
eap-ttls/mschapv2 文件路径 用途 示例 备注 #gedit /usr/local/etc/raddb/sites-available/default #gedit /us ...
- Ext JS 4 新特性2:配置项属性(config)之一
Ext JS 4 新特征2:配置项属性config 最新版本的Ext JS 4.2的另外一个伟大的新特征就是增加了configuration配置项属性,当我们在创建一个新类的时候,经常性的要设置某某属 ...
- 使用Windows Form 制作一个简易资源管理器
自制一个简易资源管理器----TreeView控件 第一步.新建project,进行基本设置:(Set as StartUp Project:View/Toolbox/TreeView) 第二步.开始 ...