如何从python程序中使用youtube dl?
我想访问以下shell命令的结果如何从python程序中使用youtube dl?,python,youtube-dl,Python,Youtube Dl,我想访问以下shell命令的结果 youtube-dl -g "www.youtube.com/..." 从python程序中将其输出直接url打印到文件中。这就是我尝试过的: import youtube-dl fromurl="www.youtube.com/..." geturl=youtube-dl.magiclyextracturlfromurl(fromurl) 可能吗? 我试图理解源代码中的机制,但却迷失了方向:youtube\u dl/
youtube-dl -g "www.youtube.com/..."
从python程序中将其输出直接url
打印到文件中。这就是我尝试过的:
import youtube-dl
fromurl="www.youtube.com/..."
geturl=youtube-dl.magiclyextracturlfromurl(fromurl)
可能吗?
我试图理解源代码中的机制,但却迷失了方向:
youtube\u dl/\uu init\u\u.py
,youtube\u dl/youtube\u dl.py
,info\u提取器
。如果youtube dl
是一个终端程序,那么您可以使用子流程
模块访问所需的数据
查看此链接了解更多详细信息:这并不难,而且:
这里有一个方法
我们在列表中设置选项的字符串,就像设置命令行参数一样。在这种情况下,opts=['-g','videoID']
。然后,调用youtube\u dl.main(opts)
。通过这种方式,我们编写了自定义的.py模块,导入youtube\u dl
,然后调用main()
函数。我希望这样
from subprocess import call
command = "youtube-dl https://www.youtube.com/watch?v=NG3WygJmiVs -c"
call(command.split(), shell=False)
对于简单的代码,
我想可能是吧
import os
os.system('youtube-dl [OPTIONS] URL [URL...]')
上面的代码只是在python内部运行命令行
文件中提到了其他问题
这是路
from __future__ import unicode_literals
import youtube_dl
ydl_opts = {}
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
ydl.download(['https://www.youtube.com/watch?v=BaW_jenozKc'])
在这里写得不错:@lollercoaster,那个URL已经死了。从Python程序调用Python程序有一点悲哀,不是吗?我认为
video['url']
它改为video['webpage\u url']
使用ydl:的的目的是什么?
这种方法有效,主函数不会返回任何内容,因此您还无法真正获得它的值。
from __future__ import unicode_literals
import youtube_dl
ydl_opts = {}
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
ydl.download(['https://www.youtube.com/watch?v=BaW_jenozKc'])