如何在Python脚本中调用外部命令(就像我在Unix shell或Windows命令提示符下键入它一样)?
我想提出一个API在YouTube的-DL tkinter&python并且需要知道:
我试过了:
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")
Run Code Online (Sandbox Code Playgroud)
来自这个问题
但它必须等到完成下载才能给我信息; 也许有一种从youtube-dl源代码获取信息的方法.
是否有任何文档可以将youtube-dl用作项目中的python库?
我知道我可以使用主类,但我找不到任何文档或示例...
import youtube_dl
ydl = youtube_dl.YoutubeDL(params)
... ?
Run Code Online (Sandbox Code Playgroud) 好吧,我可以在终端中直接使用它来获取视频格式-
$ youtube-dl -F "some youtube url"
Run Code Online (Sandbox Code Playgroud)
输出:
[youtube] Setting language
[youtube] P9pzm5b6FFY: Downloading webpage
[youtube] P9pzm5b6FFY: Downloading video info webpage
[youtube] P9pzm5b6FFY: Extracting video information
[info] Available formats for P9pzm5b6FFY:
format code extension resolution note
140 m4a audio only DASH audio , audio@128k (worst)
160 mp4 144p DASH video , video only
133 mp4 240p DASH video , video only
134 mp4 360p DASH video , video only
135 mp4 480p DASH video , video only
136 mp4 720p …Run Code Online (Sandbox Code Playgroud) 愚蠢的问题,但我无法用谷歌搜索答案:/。
我使用 pip3 来安装 mps-youtube
pip3 install mps-youtube youtube-dl
Run Code Online (Sandbox Code Playgroud)
现在如何运行?
我试图在激活和停用环境的情况下做到这一点。pip3 show 告诉我该文件位于:.local/lib/python3.6/site-packages
输入 mps-youtube, python mps-youtube, python3 mps-youtube 给出文件不存在。
当我到达 .local/lib/python3.6/site-packages/mps-youtube 时,没有任何文件看起来像我可以运行或复制到 /usr/bin 的文件...
谢谢。
K。
好的,基于这个视频; https://www.youtube.com/watch?v=7tjfeEAdY0I
我很好奇是否可以创建一个PHP脚本,它将自动获取某个YouTube频道上的所有视频(在此示例中为https://www.youtube.com/user/whitehouse/videos),抓取所有视频,检查输出特定行或单词的成绩单,然后使用正确的时间戳保存视频,以便将所有这些视频合并为一个.
我知道有一个API可用于获取特定用户的所有YouTube视频网址,并且您可以获得每个视频的成绩单,但扫描所有视频会非常耗费资源.如果你们对如何创建这样的脚本有任何想法,我很好奇.
python ×5
youtube-dl ×3
youtube ×2
command ×1
parsing ×1
php ×1
pip ×1
python-3.x ×1
shell ×1
subprocess ×1
terminal ×1
youtube-api ×1