如何在python

时间:2018-04-15 04:16:40

标签: python python-3.x youtube-dl

我想创建一个python程序,允许我输入搜索词并返回第一个结果的url

def search(search):
    #Gets the youtube url of the first result
    return url

这些方面的东西。 我不太了解youtube-dl以及如何将其实现到python中,因为我找不到关于如何通过google执行此操作的详细信息。

2 个答案:

答案 0 :(得分:1)

如果你使用 python 3.5 ,那么这很简单。我不知道这是否适用于python 3.x的早期版本。 此处返回的结果是URL列表。因此,如果您希望第一个结果使用search(text)[0]

import subprocess 
def search(text):
    command=['youtube-dl', 'ytsearch:"' + text+'"', '-g']
    result=subprocess.run(command,stdout=subprocess.PIPE,stderr=subprocess.PIPE,universal_newlines=True).stdout.split()
    return result

答案 1 :(得分:0)

你必须知道每个好的linux程序都内置了一些指令。要查看它们,请尝试public class FormValidation : IDataErrorInfo { public string proxyUser { get; set; } public string this[string columnName] { get { string result = null; ConfigFileError error; switch (columnName) { case "proxyUser": if (string.IsNullOrEmpty(proxyUser)) return result; error = Settings.Validate proxyUser(proxyUser); if (error != null) result = error.errorDescription; break; } return result; } } } private int _errors = 0; private FormValidation fv = new FormValidation(); private void Confirm_CanExecute(object sender, CanExecuteRoutedEventArgs e) { e.CanExecute = _errors == 0; e.Handled = true; } private void Confirm_Executed(object sender, ExecutedRoutedEventArgs e) { fv = new FormValidation(); this.DataContext = fv; e.Handled = true; } youtube-dl --help

对于您的问题,请从命令行:

man youtube-dl

不知道python,但它应该非常接近 bash 中的以下等价物。

youtube-dl "ytsearch:Rick Astley" -g

只需将其保存在一个文件中,给它“执行permision”«允许文件作为程序执行»或从命令行#!/bin/bash youtube-dl "ytsearch: $1" -g

然后致电:

chmod +x myprogram

这将输出第一个链接。在许多语言中程序完全相同:python,php,bash(etc)。这是一个bash脚本。

祝你好运;)