这个方法比直接用浏览器插件逼格高点

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 视频的更多相关文章

  1. python爬取youtube视频 多线程 非中文自动翻译

    声明:我写的所有文章都是发在博客园的,我看到其他复制粘贴过去的 连个出处也不写,直接打上自己的水印...真是没的说了. 前言:前段时间搞了一些爬视频的项目,代码都写好了,这里写文章那就在来重新分析一遍 ...

  2. 【Python爬虫案例学习2】python多线程爬取youtube视频

    转载:https://www.cnblogs.com/binglansky/p/8534544.html 开发环境: python2.7 + win10 开始先说一下,访问youtube需要那啥的,请 ...

  3. nodejs爬虫笔记(三)---爬取YouTube网站上的视频信息

    思路:通过笔记(二)中代理的设置,已经可以对YouTube的信息进行爬取了,这几天想着爬取网站下的视频信息.通过分析YouTube,发现可以从订阅号入手,先选择几个订阅号,然后爬取订阅号里面的视频分类 ...

  4. Python3 多线程爬取梨视频

    多线程爬取梨视频 from threading import Thread import requests import re # 访问链接 def access_page(url): respons ...

  5. python爬取豆瓣视频信息代码

    目录 一:代码 二:结果如下(部分例子)   这里是爬取豆瓣视频信息,用pyquery库(jquery的python库). 一:代码 from urllib.request import quote ...

  6. requests爬取梨视频主页所有视频

    爬取梨视频步骤: 1.爬取梨视频主页,获取主页所有的详情页链接 - url: https://www.pearvideo.com/ - 1) 往url发送请求,获取主页的html文本 - 2) 解析并 ...

  7. python爬虫实践——爬取“梨视频”

    一.爬虫的基本过程: 1.发送请求(请求库:request,selenium) 2.获取响应数据()服务器返回 3.解析并提取数据(解析库:re,BeautifulSoup,Xpath) 4.保存数据 ...

  8. 使用requests爬取梨视频、bilibili视频、汽车之家,bs4遍历文档树、搜索文档树,css选择器

    今日内容概要 使用requests爬取梨视频 requests+bs4爬取汽车之家 bs4遍历文档树 bs4搜索文档树 css选择器 内容详细 1.使用requests爬取梨视频 # 模拟发送http ...

  9. python爬取快手视频 多线程下载

    就是为了兴趣才搞的这个,ok 废话不多说 直接开始. 环境: python 2.7 + win10 工具:fiddler postman 安卓模拟器 首先,打开fiddler,fiddler作为htt ...

随机推荐

  1. hdoj 5074

    Problem Description Hatsune Miku is a popular virtual singer. It is very popular in both Japan and C ...

  2. Docker私服仓库push 错误

    docker push 提交时错误提示: docker push 192.168.1.110:5000/redis Error response from daemon: invalid regist ...

  3. 最强密码 (百度之星复赛 T5)

    题目大意: 给出一个字符串A,要求最短的字符串B,B不是A的子序列. 求最短长度 和 最短的字符串个数    |A|<=105. 题解: 1.比赛的时候没有想出来,时隔一个多月又看到了这道题,虽 ...

  4. iOS 给NSString文字上添加横线 中间和下划线

    有时候我们需要给文字添加横线,有两种情况: 第一种是贯穿中间的横线: 横线的颜色和文字的颜色保持一致 _oldPriceLabel.text = "; _oldPriceLabel.text ...

  5. C++小项目:directx11图形程序(八):particleSysclass

    粒子系统类,粒子系统是游戏里细小元素的控制系统,虽然感觉上它对游戏的影响不大,但是其实有了它能给游戏增色不少.粒子系统控制着细小元素的生死,运动,纹理.对它的编写让我知道,游戏里的这一片从天空飘落的雪 ...

  6. Operational Amplifiers

    1>.Operational Amplifiers:different from the resistor,the inductor and the capacitor,it's a multi ...

  7. elasticsearch rpm 安装

    参考:http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/setup-repositories.html Dow ...

  8. iOS开发学习概述及知识整理

    设计师设计出来了一个不错的引导界面,然而当我看到设计稿的时候,我们的app也没几天就要上线了.这个界面模仿了Evernote iOS app的风格. 我以迅雷不及掩耳盗铃之势开始在Xcode上编程,用 ...

  9. tar命令的使用

    tar格式,会打包成一个文件,可以对多个目录,或者多个文件进行打包 tar命令只是打包,不会压缩,打包前后大小是一样的 tar命令 -c    //打包 -x    //解压 -f    //指定文件 ...

  10. php 错误处理函数

    eval()   把子符串当做php 代码执行 // 回调函数function a($b, $c) { echo $b; echo $c; } call_user_func_array('a', ar ...