python - 如何在 python 中从 youtube-dl 获取信息?

标签 python youtube-dl

我正在为 tkinterpython 中的 youtube-dl 创建一个 API 并且需要知道:

  • 如何从 youtube-dl 实时获取信息字典(速度、完成百分比、文件大小等)??

我试过:

import subprocess
def execute(command):
    process = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE)

    # Poll process for new output until finished
    while True:
        nextline = process.stdout.readline()
        if nextline == '' and process.poll() != None:
            break
        sys.stdout.write(nextline.decode('utf-8'))
        sys.stdout.flush()

    output = process.communicate()[0]
    exitCode = process.returncode

    if (exitCode == 0):
        return output
    else:
        raise ProcessException(command, exitCode, output)

execute("youtube-dl.exe www.youtube.com/watch?v=9bZkp7q19f0 -t")

来自 this Question

但是必须等到下载完成才能给我信息;也许有一种方法可以从 youtube-dl 源代码中获取信息。

最佳答案

尝试这样的事情:

from youtube_dl import YoutubeDL

video = "http://www.youtube.com/watch?v=BaW_jenozKc"

with YoutubeDL(youtube_dl_opts) as ydl:
      info_dict = ydl.extract_info(video, download=False)
      video_url = info_dict.get("url", None)
      video_id = info_dict.get("id", None)
      video_title = info_dict.get('title', None)

您现在可能已经明白了这一点,但它可能会对其他人有所帮助。

关于python - 如何在 python 中从 youtube-dl 获取信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23727943/

相关文章:

python - YouTube-dl 和 Ffmpeg

python - Pandas Groupby 按唯一键除以序列中的最后一个

python - PIL 图像显示 () 在 Windows 7 上不起作用

python-3.x - 您如何将 "Error in the pull function"消息抑制到标准输出?

python - 适用于Linux的youtube_dl outtmpl格式

python - 如何避免 youtube-dl 中的 No-SSL-CERTIFICATE 错误?

ubuntu - 在 Python 脚本中更改嵌入使用的 YouTube-DL 默认保存位置

python - 如何从 Python 中的 ROC 曲线中获取最佳阈值?

python - python windows 从 pptx、ppt、docx、doc 和 msg 文件中提取文本

python - 并行过程的最佳种子