在 PHP 中获取优酷视频缩略图


Get youku video thumbnail in PHP

我一直在尝试从优酷视频中查找获取视频缩略图的信息。不出所料,大多数搜索结果都是中文的。到目前为止,我找到的最佳解决方案基本上是抓取整个页面:

preg_match_all( '~youku.com/embed/(.*?)'"~si',$embed_string,$M);
if (!empty($M[1]))  $video_id = ($M[1][0]);
$request = "http://v.youku.com/player/getPlayList/VideoIDS/$video_id/";
$response = file_get_contents($request);
$result = json_decode($response);
$youku_img_path = $result->data[0]->logo;

问题是,如果我想在页面上包含多个缩略图,它很快就会开始降低性能。此外,优酷有时似乎不允许该请求,使该解决方案充其量不可靠。有谁知道更好的解决方案?

我不懂中文,但他们有一个开放的API来获取视频信息:http://open.youku.com/docs/api/videos/show 单个视频,http://open.youku.com/docs/api/videos/show_batch 多个视频。

您必须在此处向他们注册,以获取在每个请求中使用的 API 密钥。

现在优酷有英文版网站,你可以通过:http://open.youku.com/app 轻松申请一个 API 密钥

function youkuapi($vid){
$url="https://openapi.youku.com/v2/videos/show_basic.json?video_id=".$vid."&client_id=your_api_key";
$data=file_get_contents($url);
$json=json_decode($data,true);
return $json;
}

试试这个

http://events.youku.com/global/api/video-thumb.php?vid=YOUKU_VIDEO_ID

将YOUKU_VIDEO_ID换成您的视频 ID。