แยกชื่อของวิดีโอ YouTube Python

Sep 16 2020

ฉันเขียนโค้ดชิ้นเล็ก ๆ ใน python เพื่อแยกเสียงจากวิดีโอ YouTube นี่คือรหัส:

from __future__ import unicode_literals
import youtube_dl

link = input("Enter the video link:")
name = input("Enter the title of the video:")

path = f'D:\\{name}.mp3'

ydl_opts = {
    'outtmpl':path,
    'format': 'bestaudio/best',
    'postprocessors': [{
        'key': 'FFmpegExtractAudio',
        'preferredcodec': 'mp3',
        'preferredquality': '192',
    }],
}

with youtube_dl.YoutubeDL(ydl_opts) as ydl:
    ydl.download([link])

สิ่งที่ฉันต้องการทำที่นี่คือการตั้งชื่อวิดีโอโดยใช้ลิงก์แทนที่จะขอชื่อวิดีโอจากผู้ใช้ ฉันลองใช้ไม่กี่วิธี แต่ก็ไม่ได้ผลสำหรับฉัน มีวิธีง่ายๆในการทำเช่นนี้หรือไม่? ขอบคุณ.

คำตอบ

1 AlexandraDudkina Sep 16 2020 at 15:44

คุณสามารถใช้วิธี extract_info ในวิธีต่อไปนี้:

with youtube_dl.YoutubeDL(ydl_opts) as ydl:
    info_dict = ydl.extract_info(video, download=False)
    video_title = info_dict.get('title', None)