yt-dlp 是一个功能强大的工具,支持从各种流行视频网站下载视频和音频。它在 youtube-dl 的基础上增强了支持范围,以下是一些常见视频网站,yt-dlp 支持下载它们的内容:
YouTube - 支持所有 YouTube 视频,包括播放列表和频道。
Vimeo - 支持个人视频和嵌入的视频。
Dailymotion - 支持各种类型的视频。
Facebook - 支持公共视频和部分私密视频。
Instagram - 支持视频、IGTV、Reels 以及部分 Stories。
Twitter/X - 支持单条推文中的视频和GIF。
TikTok - 支持公共视频,甚至支持带水印下载。
SoundCloud - 支持音频下载,适合下载歌曲或播客。
Bilibili - 支持大部分公共视频,含番剧、电影及其他资源。
Twitch - 支持直播录播视频、单场景录像。
Reddit - 支持 Reddit 上发布的视频。
Niconico - 支持日本视频网站 Niconico 上的视频。
BBC iPlayer - 支持英国的 BBC iPlayer 上的视频(需要 VPN)。
Udemy - 支持 Udemy 课程(需要账号验证)。
Hotstar - 支持印度的视频平台 Hotstar 的视频。
此外,yt-dlp 还支持一些新闻网站、直播平台以及其他地区性网站的视频和音频下载。对于完整的支持列表,可以运行以下命令查看:
bash
复制代码
yt-dlp --list-extractors
在deepseek中输入提示词:
写一个Python脚本,完成如下任务:
用户输入b站视频地址,
用yt_dlp库下载视频,
将视频保存到:F:\avideo
注意:用户可以输入一个视频地址,也多个视频地址,还可以输入一个视频列表;
要循环接受用户的输入,一个音频下载完成后继续接受用户的输入;
要实现用户输入视频地址并使用 yt-dlp 库下载视频,并将视频保存到指定目录 F:\avideo,你可以按照以下步骤编写Python脚本。这个脚本会循环接受用户的输入,支持单个视频地址、多个视频地址,或者一个包含多个视频地址的列表。
安装 yt-dlp
首先,确保你已经安装了 yt-dlp 库。如果没有安装,可以使用以下命令进行安装:
bash
复制
pip install yt-dlp
Python 脚本
import yt_dlp
save_path = r'F:\avideo'
def download_video(url):
ydl_opts = {
'outtmpl': f'{save_path}/%(title)s.%(ext)s',
'format': 'bestvideo+bestaudio/best', # 下载最佳质量的视频
}
with yt_dlp.YoutubeDL(ydl_opts) as ydl:
ydl.download([url])
def main():
while True:
user_input = input("请输入视频地址(多个地址用空格分隔,输入'exit'退出):")
if user_input.lower() == 'exit':
break
urls = user_input.split()
for url in urls:
print(f"正在下载视频: {url}")
download_video(url)
print(f"视频 {url} 下载完成!")
print("所有视频下载完成!")
if __name__ == "__main__":
main()
使用说明
运行脚本:运行上述Python脚本。
输入视频地址:
你可以输入单个视频地址,例如:https://www.bilibili.com/video/BV1xX4y1G7Ug
你也可以输入多个视频地址,用空格分隔,例如:https://www.bilibili.com/video/BV1xX4y1G7Ug https://www.bilibili.com/video/BV1xX4y1G7Ug
你还可以输入一个包含多个视频地址的列表,例如:https://www.bilibili.com/video/BV1xX4y1G7Ug https://www.bilibili.com/video/BV1xX4y1G7Ug
退出程序:输入 exit 退出程序。
注意事项
确保你的Python环境已经安装了 yt-dlp 库。
确保你有权限在 F:\avideo 目录下写入文件。
如果视频地址无效或视频已被删除,yt-dlp 会抛出错误,你需要处理这些异常情况。
这个脚本会循环接受用户的输入,直到用户输入 exit 为止。每次输入的视频地址都会被下载并保存到指定的目录中。