技术精华区
返回
登录/注册
获取优酷网、土豆网、56网的视频缩略图
楼主
spiderman 于 2013-06-21 19:14:53
获取优酷网、土豆网、56网的视频缩略图
获取优酷网视频缩略图
优酷官方给出了API,所以很容易得到想要的缩略图,原视频地址:http://v.youku.com/v_show/id_XMjIwNDg2NjU2.html
地址栏输入以下:http://v.youku.com/player/getPlayList/VideoIDS/XMjIwNDg2NjU2/timezone/+08/version/5/source/out?password=&ran=2513&n=3,就可以的看到输出的json内容。
因此重点在于得到:VideoIDS/后面的这串字符XMjIwNDg2NjU2
// 这段正则是来获取优酷的id,出处在 /wp-content/languages/zh_CN.php,同样56网、土豆都可以找到
preg_match("#https?://v.youku.com/v_show/id_(?<video_id>[a-z0-9_=-]+)#i", $url, $matches);
$cnt = count($matches);
if ($cnt>0){
$link = "http://v.youku.com/player/getPlayList/VideoIDS/{$matches['video_id']}/timezone/+08/version/5/source/out?password=&ran=2513&n=3";
}else{
return false;
}
// 这一段是用来解析json数据,如果想跨域用js来取,这个表示压力好大
$ch=@curl_init($link);
@curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$cexecute=@curl_exec($ch);
@curl_close($ch);
if ($cexecute) {
$result = json_decode($cexecute,true);
$json = $result['data'][0];
$data['img'] = $json['logo']; // 视频缩略图
$data['title'] = $json['title']; //标题啦
$data['url'] = $url;
$data['swf'] = "http://player.youku.com/player.php/sid/{$matches['video_id']}/v.swf"; // 视频地址
return $data;
} else {
return false;
}
获取土豆网视频缩略图
同上,也是土豆官方给出了api,所以很容易得到想要的缩略图。地址栏输入:http://api.tudou.com/v3/gw?method=item.info.get&appKey=myKey&format=json&itemCodes=gTrKrJYVFvs就可以的看到输出的json内容。
因此重点在于得到:itemCodes= gTrKrJYVFvs,代码直接看demo吧:http://mufeng.me/tudou
获取56网视频缩略图
56网的api参考这里: http://dev.56.com/wiki/index.PHP?doc-view-20,官方的sdk给出了关于sign的计算,省了很多事。
代码直接看demo吧:http://mufeng.me/56
[P][URL=https://developers.google.com/youtube/2.0/migration?hl=zh-CN]https://developers.google.com/youtube/2.0/migration?hl=zh-CN[/URL][/P]
回复
1
电脑版
Page created in 0.0137 seconds with 4 queries.