如何使用Python程序中的youtube-dl
我想访问shell命令的结果:
youtube-dl -g "www.youtube.com..."
将其输出direct url
打印到文件; 从一个Python程序:
import youtube-dl fromurl="www.youtube.com ...." geturl=youtube-dl.magiclyextracturlfromurl(fromurl)
那可能吗 ? 我尝试了解源代码中的机制,但是丢失了: youtube_dl/__init__.py
, youtube_dl/youtube_DL.py
, info_extractors
…
这并不困难, 实际上也有logging :
import youtube_dl ydl = youtube_dl.YoutubeDL({'outtmpl': '%(id)s%(ext)s'}) with ydl: result = ydl.extract_info( 'http://www.youtube.com/watch?v=BaW_jenozKc', download=False # We just want to extract the info ) if 'entries' in result: # Can be a playlist or a list of videos video = result['entries'][0] else: # Just a video video = result print(video) video_url = video['url'] print(video_url)
这是一个方法。
我们在列表中设置选项的string,就像我们设置命令行参数一样。 在这种情况下opts=['-g', 'videoID']
。 然后,调用youtube_dl.main(opts)
。 这样,我们编写自定义的.py模块, import youtube_dl
,然后调用main()
函数。
如果youtube-dl
是一个terminal程序,你可以使用subprocess
模块来访问你想要的数据。
查看这个链接了解更多细节: 在Python中调用外部命令
我想这个
from subprocess import call command = "youtube-dl https://www.youtube.com/watch?v=NG3WygJmiVs -c" call(command.split(), shell=False)
使用unix系统中已经安装了youtube-dl的subprocess,我可以编写这个脚本。 希望它能提供一些实际的见解
https://www.quora.com/What-are-the-best-Python-scripts-youve-ever-written/answer/Prasanna-Kumar-92?; snids = 850206706& idx = 0
- ValueError at / image / Tensor张量(“activation_5 / Softmax:0”,shape =(?,4),dtype = float32)不是该图的元素
- Java或Python的自然语言处理
- 如何删除numpy.ndarray中包含非数字值的所有行
- Python有没有像水豚/黄瓜?
- debugging在Gunicorn运行的Flask应用程序
- testing一个string的子string?
- 如何findpython中的两个date时间对象之间的时间差异?
- Django Rest框架中的用户authentication+ Angular.js Web应用程序
- Python在句子上分割文本