目前,我正在尝试根据艺术家姓名和歌曲标题将 YouTube 音乐视频下载为音频文件,下载所有视频后,我尝试将所有音频文件从 .webm 或 .mp4 扩展名重命名为 .mp3。但似乎我在将文件名和扩展名更改为 .mp3 时遇到了一些错误。我的代码基本上不会重命名音频文件的名称和扩展名。有人可以帮我将下载的文件重命名为 .mp 文件吗?
这是我的代码…………
import os
from requests import get
from yt_dlp import YoutubeDL
YDL_OPTIONS = {'format' : 'bestaudio/best', 'noplaylist' : 'True'}
filename=[]
old=[]
positions=[]
def search(arg, index):
with YoutubeDL(YDL_OPTIONS) as ydl:
try:
get(arg)
except:
song = ydl.extract_info(f"ytsearch:{arg}", download=True)['entries'][0]
else:
song = ydl.extract_info(arg, download=True)
oldpath = song['title'] + '[' + song['id'] + ']' + '.' + song['ext']
old.append(oldpath)
newpath = f"{song['title']}.mp3"
if os.path.isfile(oldpath):
os.rename(f"{oldpath}",newpath)
filename.append(str(newpath))
else:
filename.append(str(newpath))
positions.append(index)
return filename , positions, old
title = (dataset['Title'] + " " + dataset['Artist']).tolist()
for index, arg in enumerate(title):
filename, positions, old = search(arg, index=index )
这里 oldpath = 以此格式下载的原始文件
newpath = 我想将其重命名为哪种格式
标题包含歌曲标题和艺术家姓名(例如:Falling - Harry Styles)。还有一件事是,如果我在那里检查文件名,它会成功显示所有带有 .mp3 的音频文件名,但是如果我尝试使用重命名的名称和 .mp3 运行音频文件,它会给我这个错误“FileNotFoundError:[Errno 2]没有这样的文件或目录:'The Weeknd - Blinding Lights (Official Video).mp3'"
您确定文件已下载到预期位置吗?假设您的文件名正确,另一个选项是目录不正确。
范围outtmpl https://github.com/yt-dlp/yt-dlp/blob/059bc4db1975698dca53278a0fcc23d428b7658a/yt_dlp/YoutubeDL.py#L234允许您定义文件名和路径的模板。检查docs https://github.com/ytdl-org/youtube-dl/blob/master/README.md#output-template原来的youtube-dl
了解详情。
这是一个例子:
ydl_options = {
'outtmpl': '~/Music/%(extractor_key)s/%(extractor)s-%(id)s-%(title)s.%(ext)s'
}
ydl = yt_dlp.YoutubeDL(ydl_opts)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)