1
gaocheng 2012-06-05 10:37:34 +08:00 2
优酷 http://dev.youku.com/
土豆 http://dev.tudou.com/v5/ 酷6 http://dev.ku6.com/ 56 http://dev.56.com/ 搜狐视频 http://open.tv.sohu.com/index.jsp 腾讯视频、奇艺、音乐台的没有找到 |
2
dragonbone 2012-06-05 10:54:52 +08:00 2
1,播放器只能用视频网站自己的,这个不用抓,一行代码就可以了
2,抓截图,这个有点难,必须获取的flv的真实地址,因为网站都做了防盗链,但还是可以破解的,具体可以通过flash工具反编译他们的播放器,查看一下流程,有些网站就提供了这样的功能,你可以直接从这些网站获取,然后通过ffmpeg解码这些视频,保存几张截图 不用谢,咱很闲 |
3
aligo OP @gaocheng 非常感谢,研究了一圈,汇报结果:
优酷通过api获取视频截图,要合作者id 土豆截图最大的也只有320x240 同时这两个东西哪里申请api调用权限? 酷6的话我太笨他提供的我不会用啊 56的话我没key也获取不了,而且文档的json范例和文档写的居然不一样,少了img项 搜狐一样也没有获取截图的方式 囧 另外youtube获取截图的方式 http://img.youtube.com/vi/视频id/0.jpg vimeo可以通过 http://vimeo.com/api/v2/video/视频id.json 获取到包括大张截图在内的很多信息 |
4
aligo OP 折腾了半天,看了各种各样的小道消息,终于首先搞定了youku:
正则:^(http:\/\/v.youku.com\/v_show\/id_(.*).html).*$ 1是干净的url 2是下面要用的id 然后抓取 'http://v.youku.com/player/getPlayList/VideoIDS/' + id + '/version/5/source/out' 可以获得一些详细信息 例如标题.data[0].title 一张截图.data[0].logo 还有一堆乱七八糟的东西 最后flash播放器地址是 'http://player.youku.com/player.php/sid/' + id + '/v.swf' |
5
onoli 2012-06-05 23:51:52 +08:00
不用他们api的话,除了youku, 其它都要用正则扫出他们的id,才能获取图片,用正则扫土豆比较恶心也比较麻烦
|
6
satgi 2012-06-06 00:04:50 +08:00
土豆的。。。各种格式啊。。。
|
7
gee 2012-06-06 00:36:50 +08:00 1
|
8
gee 2012-06-06 00:39:08 +08:00
|
9
gee 2012-06-06 00:44:39 +08:00
@aligo 这个研究完了把结果跟大家共享下吧,我正好更新一下 http://oembed.it/
|
10
mopvhs 2012-06-06 09:25:11 +08:00 1
@aligo
优酷: preg_match('@^http:\/\/v\.youku\.com\/v_show\/id_([\w\d+_-]*)\.html|^http:\/\/v\.youku\.com\/v_show\/id_([\w\d+_-]*)=\.html@i', $url, $matches); $videoID = $matches[1]; $videoApi = 'http://v.youku.com/player/getPlayList/VideoIDS/'.$videoID; 土豆: preg_match_all('/(<script.*>)(.*)(<\/script>)/imxsU',$data,$matches); preg_match_all("/(icode = ')(.*)(' ,oid)/i",$matches[0][1],$results); if (strlen($results[2][0])<11) { preg_match_all('/(icode:\")(.*)(\")/i',$matches[0][1],$results); } $videoApi = 'http://api.tudou.com/v3/gw?method=item.info.get&appKey=myKey&format=json&itemCodes='.$results[2][0]; |
12
andy 2012-06-20 14:52:18 +08:00
参考以上各位的代码,精简后的优酷python代码:
match=re.search(r'^http:\/\/v\.youku\.com\/v_show\/id_([-+_\w]+)=*\.html',str) id=match.group(1) return 'http://player.youku.com/player.php/sid/'+id+'/v.swf' |
13
lixiphp 2013-09-16 20:52:19 +08:00 1
有JS的获取方法吗?
|