首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何调试yt-dlp

如何调试yt-dlp
EN

Stack Overflow用户
提问于 2021-10-21 15:25:09
回答 1查看 559关注 0票数 0

我想了解yt(或者yt加载程序)是如何下载我的混合云组合的。

如果我运行python .\__main__.py https://www.mixcloud.com/DJJazzyJeff/magnificent-live-mix-tapes-20210520-234619/

脚本正在下载混合文件。如果第一次通过以下方式启动pdb:

python -m pdb .\__main__.py https://www.mixcloud.com/DJJazzyJeff/magnificent-live-mix-tapes-20210520-234619/

脚本无法找到yt_dlp模块

使用pip3 install yt_dlp解决了这个问题。所以现在我可以使用n或next,但是我不知道脚本是如何获取json字符串的。相反,使用step提供了太多(无用的)信息,因此也没有帮助。

接下来,我尝试的是在脚本下载混合调试模式之前和之后直接使用pdb命令11,但这也没有帮助。

代码语言:javascript
复制
-> yt_dlp.main()
(Pdb) ll
  1     #!/usr/bin/env python3
  2     from __future__ import unicode_literals
  3
  4     # Execute with
  5     # $ python yt_dlp/__main__.py (2.6+)
  6     # $ python -m yt_dlp          (2.7+)
  7
  8     import sys
  9
 10     if __package__ is None and not hasattr(sys, 'frozen'):
 11         # direct call of __main__.py
 12         import os.path
 13         path = os.path.realpath(os.path.abspath(__file__))
 14         sys.path.insert(0, os.path.dirname(os.path.dirname(path)))
 15
 16     import yt_dlp
 17
 18     if __name__ == '__main__':
 19  ->     yt_dlp.main()
EN

回答 1

Stack Overflow用户

发布于 2021-11-16 17:09:09

在实际提取之前和之后,yt做了很多事情。因此,从一开始就设置断点将是乏味的。

首先,正常运行yt,并确定什么提取器负责下载。在本例中,您可以看到提取器名为mixcloud

代码语言:javascript
复制
➤ yt-dlp https://www.mixcloud.com/DJJazzyJeff/magnificent-live-mix-tapes-20210520-234619
[mixcloud] DJJazzyJeff_magnificent-live-mix-tapes-20210520-234619: Downloading JSON metadata
[mixcloud] DJJazzyJeff_magnificent-live-mix-tapes-20210520-234619: Downloading m3u8 information
[mixcloud] DJJazzyJeff_magnificent-live-mix-tapes-20210520-234619: Downloading MPD manifest

ERROR: Interrupted by user

现在,在代码库中搜索带有该IE_NAME的提取器。如果名称没有在任何地方显式定义,请查找具有相同名称但以IE结尾的类。在本例中,您将看到提取器是MixcloudIE

负责提取的代码位于该类的_real_extract_real_initialize函数中(如果定义的话)。从这里开始,您尝试读取或使用pdb来遵循代码

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69664709

复制
相关文章

相似问题

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