获取YouTube视频上传者

时间:2015-07-13 16:40:01

标签: php video youtube uploader

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

问题是:我不想在执行查询时使用任何API密钥,也不会有任何限制。有没有办法这样做?

1 个答案:

答案 0 :(得分:0)

是的,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检索videoID,然后使用videoID获取视频作者(也称为上传者)。 GetArgs功能还可用于从YouTube视频中检索大量其他信息,而无需API密钥,例如:下载链接,长度,标题,缩略图等。 GetArgs函数需要$ args中get_video_info的输出,你要在$ key中找到的参数和'&amp;' $ query中的符号。

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