首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python下载带有特定文件名的youtube

Python下载带有特定文件名的youtube
EN

Stack Overflow用户
提问于 2017-12-05 16:54:47
回答 2查看 11.8K关注 0票数 8

我试着用pytube这样下载youtube视频:

代码语言:javascript
运行
复制
from pytube import YouTube
YouTube('http://youtube.com/watch?v=9bZkp7q19f0').streams.first().download()

但该文件的名称将与原始视频名称相同。如何指定自定义文件名?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-12-06 03:30:56

更新:

现在添加了该功能。您现在可以使用下面提到的功能,而无需下载存储库。

的老答案:

这在当前的最新版本(v7.0.18)中是不可能的。该功能已添加,但自那时以来没有发布新的版本。如果您想要使用此功能,则需要下载pytube存储库:https://github.com/NFicano/pytube

如果您已经这样做了,您可以使用YouTube('http://youtube.com/watch?v=9bZkp7q19f0').streams.first().download(filename='filename')

它将自动添加文件扩展名,因此您不必包含该扩展名。

我是通过阅读源码找到的。在那里,我在文件streams.py中找到了函数download的声明

代码语言:javascript
运行
复制
def download(self, output_path=None, filename=None):

所以显然你也可以指定一个路径。

要获得一个好的解决方法,请参阅landogardner的答案。

票数 19
EN

Stack Overflow用户

发布于 2017-12-07 22:35:19

为了补充klutt的答案,自从添加了这个特性以来,看起来并没有新的pypi版本,所以现在你可以按照klutt的建议直接下载代码,或者作为一种解决办法,在download()调用后手动重命名文件,例如:

代码语言:javascript
运行
复制
import os
from pytube import YouTube

yt = YouTube('http://youtube.com/watch?v=9bZkp7q19f0')
yt.streams.first().download()
os.rename(yt.streams.first().default_filename, 'new_filename.ext')`
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47649536

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档