我想创建一个python程序,允许我输入搜索词并返回第一个结果的url
def search(search):
#Gets the youtube url of the first result
return url
这些方面的东西。 我不太了解youtube-dl以及如何将其实现到python中,因为我找不到关于如何通过google执行此操作的详细信息。
答案 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脚本。
祝你好运;)