我一直在搜索如何获取YouTube视频的上传者,并发现我必须使用YouTube Data v3 API。
问题是:我不想在执行查询时使用任何API密钥,也不会有任何限制。有没有办法这样做?
答案 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'。