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

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. 一眼看懂KMP匹配算法

    KMP算法——快速从字符串M(母串)中找出与字符串Z(子串)匹配的子串 例1: 0 1 2 3 4 5 M:a b c a b d Z:  a b d BF算法(最一般的算法,也叫“蛮力算法”): 将 ...

  2. Codeforces Round #211 (Div. 2) D题(二分,贪心)解题报告

    ---恢复内容开始--- 题目地址 简要题意: n个小伙子一起去买自行车,他们有每个人都带了一些钱,并且有公有的一笔梦想启动资金,可以分配给任何小伙子任何数值,当然分配权在我们的手中.现在给出m辆自行 ...

  3. Haskell Platform (windows)

    一.下载地址:https://www.haskell.org/platform/windows.html Haskell Platform 整合了 Glasgow Haskell Compiler,W ...

  4. 【墙内备份】Android 6.0 APIs

    Android 6.0 APIs In this documentSHOW MORE Fingerprint Authentication Confirm Credential App Linking ...

  5. 5.String

    一.古罗马皇帝凯撒在打仗时曾经使用过一种方法加密军事情报.请编写一个程序,使用上述算法加密或解密用户输入的英文字串. 设计思想:先提示用户进行的操作是加密还是解密,用户输入一个字符串,加密时将前23个 ...

  6. C++ 11 lambda

    转载:http://www.cnblogs.com/kedebug/p/3224561.html lambda 表达式的简单语法如下:[capture] (parameters) -> retu ...

  7. Oracle中SQL查询表字段基本信息、主键、外键(转)

    select utc.column_name, utc.data_type, utc.data_length, utc.data_precision, utc.data_Scale, utc.null ...

  8. win7下KiWi Syslog服务器的安装与配置

    今天就来聊聊日志服务器KiWi Syslog的安装与配置. 首先,所需文件有以下2个: 1.Kiwi_Syslog_Server_9.5.0.Eval.setup.exe[此版本只有14天寿命][Ki ...

  9. asp.net MVC code first Migrations : Model 同步到DB中

    找来找去,看来用这个功能的人很少. http://www.it165.net/pro/html/201403/10653.html 步骤: 1,在程序包管理控制台上,Enable-Migrations ...

  10. mvc导出excel 之 新

    前段时间做的mvc导出excel 老大说要进行优化,我原来导出是用npoi插件进行导出,格式是将数据放入到datatable中,然后进行导出. 说要优化的时候就想着将datatable数据导出格式改为 ...