pytube——下载YouTube视频的python库

news/2024/11/30 13:49:15/

pytube的翻译文档


描述


Youtube是世界上非常流行的视频分享平台,并且作为一个极客,你可能会遇到这样一种情形,就是你想去写点东西下载视频。鉴于此情况,我推荐pytube给你。
pytube是用python写的轻量级库,它没有第三方的依赖并且目的是为了变得高度可靠。
pytube没有假定,意思是没有内建的方法获得‘最’高质量的视频。pytube仅仅给出了所有可以获得的形式和方法,给开发者自己定义所有的’最高‘是什么。
pytube使管程简单,允许你能给清楚的知道不同下载事件的堆栈函数调用,比如on progress 或者or complete
最后,pytube也包括一种命令行的实现,允许你快速从终端下载视频。

安装


下载使用pip通过pypi
pip install pytube

库的用法


from pytube import YouTube
# not necessary, just for demo purposes.//不是很必要,只是为了演示的目的
from pprint import pprint
yt = YouTube("http://www.youtube.com/watch?v=Ik-RsDGPI5Y")# Once set, you can see all the codec and quality options YouTube has made
# available for the perticular video by printing videos.
# 一旦选定,你可以看见youtube提供的所有编码和质量选项通过打印视频的方法
print(yt.get_videos())# [<Video: MPEG-4 Visual (.3gp) - 144p>,
#  <Video: MPEG-4 Visual (.3gp) - 240p>,
#  <Video: Sorenson H.263 (.flv) - 240p>,
#  <Video: H.264 (.flv) - 360p>,
#  <Video: H.264 (.flv) - 480p>,
#  <Video: H.264 (.mp4) - 360p>,
#  <Video: H.264 (.mp4) - 720p>,
#  <Video: VP8 (.webm) - 360p>,
#  <Video: VP8 (.webm) - 480p>]# The filename is automatically generated based on the video title.  You
# can override this by manually setting the filename.
# 文件名自动根据视频名生成,你可以覆盖它通过手动设置文件名# view the auto generated filename:   查看自动生成的文件名
print(yt.filename)# Pulp Fiction - Dancing Scene [HD]# set the filename: 设置文件名的方法
yt.set_filename('Dancing Scene from Pulp Fiction')# You can also filter the criteria by filetype.  你可以通过过滤器过滤指定的类型
print(yt.filter('flv'))# [<Video: Sorenson H.263 (.flv) - 240p>,
#  <Video: H.264 (.flv) - 360p>,
#  <Video: H.264 (.flv) - 480p>]# Notice that the list is ordered by lowest resolution to highest. If you
# wanted the highest resolution available for a specific file type, you
# can simply do:(注意:列表是从最低到最高的质量排序,如果你想要更高的特定文件类型的分辨率,你可以仅通过:
print(yt.filter('mp4')[-1])
# <Video: H.264 (.mp4) - 720p># You can also get all videos for a given resolution  (你也可以得到所有的视频通过给一个分辨率)
print(yt.filter(resolution='480p'))# [<Video: H.264 (.flv) - 480p>,
#  <Video: VP8 (.webm) - 480p>]# To select a video by a specific resolution and filetype you can use the get
# method.(为了挑选一个特定分辨率和文件类型,你可以使用get方法)video = yt.get('mp4', '720p')# NOTE: get() can only be used if and only if one object matches your criteria.(get()能够被使用的前提必须是一个对象符合标准)
# for example:(例如:)print(yt.videos)#[<Video: MPEG-4 Visual (.3gp) - 144p>,
# <Video: MPEG-4 Visual (.3gp) - 240p>,
# <Video: Sorenson H.263 (.flv) - 240p>,
# <Video: H.264 (.flv) - 360p>,
# <Video: H.264 (.flv) - 480p>,
# <Video: H.264 (.mp4) - 360p>,
# <Video: H.264 (.mp4) - 720p>,
# <Video: VP8 (.webm) - 360p>,
# <Video: VP8 (.webm) - 480p>]# Since we have two H.264 (.mp4) available to us... now if we try to call get()
# on mp4...(既然我们有2个H.264(.mp4)可获得,我们可以尝试使用get)video = yt.get('mp4')
# MultipleObjectsReturned: 2 videos met criteria.  (多个对象符合标准)# In this case, we'll need to specify both the codec (mp4) and resolution
# (either 360p or 720p).(在这种情况下,我们需要明确编码和分辨率)# Okay, let's download it! (a destination directory is required) //行,那么我们下载它(需要一个目的目录)
video.download('/tmp/')

命令行使用方法

你可以下载一个视频通过简单的传递-e参数或者--extension=转换并且设置它为你希望的文件类型
$ pytube -e mp4 http://www.youtube.com/watch?v=Ik-RsDGPI5Y
同样的:
$ pytube -r 720p http://www.youtube.com/watch?v=Ik-RsDGPI5Y
当运行没有分辨率或者扩展,它会给出一个所有可以下载的列表

$ pytube http://www.youtube.com/watch?v=Ik-RsDGPI5YResolution      Extension----------------------------0  3gp             144p1  3gp             240p2  mp4             360p3  mp4             720p4  webm            360pEnter choice:

你可以看见可得到的一系列的可获得的格式通过传递-s或者--show-available标志
$ pytube -s http://www.youtube.com/watch?v=Ik-RsDGPI5Y
你也可以明确下载的文件路径通过(-p或者--path=)
$ pytube -e mp4 -p ~/Downloads/ http://www.youtube.com/watch?v=Ik-RsDGPI5Y
或者可以选择文件名(-f或者--filename=):
$ pytube -e mp4 -f "Dancing Scene from Pulp Fiction" http://www.youtube.com/watch?v=Ik-RsDGPI5Y
你可以可以通过明确分辨率或者期望的类型
$ pytube -e mp4 -r 720p http://www.youtube.com/watch?v=Ik-RsDGPI5Y


注意:

本文是本人翻译github上的Readme文档,时间是2017年5月22日,可能以后作者会有修改。原文地址如下:https://github.com/nficano/pytube.


http://www.ppmy.cn/news/805827.html

相关文章

YoutuBe 是如何利用深度学习解决搜索推荐问题的? (一) - 论文翻译

总述&#xff1a;这篇文章是先从论文翻译入手&#xff0c;讲解下 YoutuBe 里面是如何利用深度学习做搜索推荐的。YoutuBe 的这篇文章基本上是深度学习做搜索推荐的一篇“鼻祖”文章&#xff0c;在那年提出来这个之后&#xff0c;有很多公司都在这个基础上去试验新的办法&#x…

翻译:最令人印象深刻的YouTube频道,可让您学习AI,机器学习和数据科学

说明 数据科学是一个多学科领域&#xff0c;专注于数据分析和机器学习。例如&#xff0c;这项工作可以提供给Web应用程序&#xff0c;但是数据科学家的工作是分析和预测建模。 该工作报告2020年的未来&#xff0c;同时看着日益战略和日益冗余岗位版显示全行业的相似之处。 对…

Chrome的YouTube双语字幕插件

参考 YouTube 这个视频教程讲的比我写的详细多了。 不过我还是记录一下文字版本。 最终效果 原视频是没有英文字幕的&#xff0c;安装这个插件之后&#xff0c;有了中英双语的字幕。 listening菜鸡如我有救了。 安装步骤 1. 安装Chrome的插件 - Tampermonkey 直接在Chrome…

YouTube技术架构

谈不上翻译&#xff0c;就是摘录 1 billion video views per day 1.Apache 2.Python 3.Linux (SuSe) 4.MySQL 5.psyco, a dynamic python->C compiler 6.lighttpd for video instead of Apache -->NetScaler-->Apache plus Lighttpd(for video/multiple process)-->…

YouTube广告 || 一次性让你了解个够

毫无疑问&#xff0c;近几年都是“视频年”。而作为全球最大的视频平台YouTube&#xff0c;无疑也蕴藏着巨大的商机。 多达78&#xff05;的营销人员表示&#xff0c; 视频为他们带来了良好的投资回报率 99&#xff05;使用YouTube广告视频的企业表示他们将在2020年继续这样…

Youtube CC字幕是什么,Caption和Subtitle的解释

最近较多使用Youtube的字幕&#xff0c;却对“CC”这个词不甚了解。搜索不好找&#xff0c;Google找到了一个解释&#xff08;https://www.techbang.com/posts/2107&#xff09;&#xff1a; Closed Caption就是CC&#xff0c;即隐藏式字幕&#xff0c;也是原文字幕。Youtube自…

YoutubeDL接口参数翻译

[TOC](YouTube-dl接口(YouTubeDL.py)参数翻译 翻译来自机器翻译勉强能用 YoutubeDL类。 YoutubeDL对象负责下载 实际的视频文件&#xff0c;并在用户请求时将其写入磁盘在一些其他任务中。在大多数情况下&#xff0c; 应该有一个程序。因为&#xff0c;给定一个视频URL&#…

结构梁配筋最牛插件_YouTube 字幕翻译 —— Chrome 插件

“求推荐高质量的XX入门视频” “YouTube&#xff0c;上面有大量制作精良的免费教程” “英文我看不懂啊&#xff0c;你看得懂吗&#xff1f;” “我当然没问题啊&#xff01;” 这是我常吹的牛逼&#xff0c;其实不是的&#xff0c;英文我经常看不懂&#xff0c;英文的词汇量太…