获取 YouTube 视频上传器

Get YouTube video uploader

我一直在搜索如何获取 YouTube 视频的上传器,发现我必须使用 YouTube 数据 v3 API。

问题是:我不想使用任何 API 键,也不想在执行查询时有任何限制。有什么办法吗?

是的,get_video_info 可用,因此您可以从中读取所需的信息。不过,没有官方文档。

function ParseQueryString($query)
{
    $query = iconv(mb_detect_encoding($query, mb_detect_order(), true), "UTF-8", $query);
    $params = explode('&', $query);
    $args = array();
    foreach ($params as $param)
    {
        $value = explode('=', $param);
        $args[$value[0]] = $value[1];
    }

    return $args;
}

function GetArgs($args, $key, $query)
{
    $iqs = strpos($args, $query);
    $querystring = "";

    if ($iqs != -1)
    {
        $querystring = ($iqs < strlen($args) - 1) ? substr($args, $iqs + 1) : "";
        $nvcArgs = ParseQueryString($querystring);
        return $nvcArgs[$key];
    }

    return "";
}

function GetVideoUploader($url)
{
    $id = GetArgs($url, "v", '?');
    return GetArgs(file_get_contents("http://youtube.com/get_video_info?video_id=" . $id), "author", '&');
}

GetVideoUploader 函数首先从输入 URL 中检索视频 ID,然后使用视频 ID 获取视频作者(又名上传者)。 GetArgs 函数还可用于从 YouTube 视频中检索许多其他信息,而无需 API 键,例如:下载 link、长度、标题、缩略图等等。 GetArgs 函数需要 $args 中 get_video_info 的输出,$key 中要查找的参数以及 $query 中的 '&' 符号。

您可以通过访问 http://youtube.com/get_video_info?video_id=iNJdPyoqt8U 获取参数列表(例如),用 Notepad++ 打开它并用 '\n' 替换 '&' 字符。