常常看到优酷等网站本身或者给其他网站定制的内容中出现视频缩略图,但是一番搜索之后发现优酷本身好像没有开放类似的接口给普通用户。所以这个问题就被搁置下来了。最近有客户需要大量使用视频,而且是第三方的视频网站,并且在页面中也要应用视频截图。所以一番摸索之后发现有个好东西:视频抓取工具。
原作者页面:视频抓取工具
实际使用效果
使用方法
require_once “VideoUrlParser.class.php”; $url = “http://v.youku.com/v_show/id_XMjkwMzc0Njg4.html”; $info = VedioUrlParser::parse($url);
之后,只需要在合适的地方输出$info就可以了。
应用示例
由于不能根据直接输入的frame视频框架来获取截图,因此必须显式地提供视频播放地址。这里我提供一个思路:
为需要的文章类型添加一个meta box(把以下代码扔functions.php里)
<?php add_action('admin_init', 'admin_init_fn'); function admin_init_fn() { add_meta_box('videourl', '视频地址', 'videourl_fn', 'post', 'normal', 'high', null); } function videourl_fn() { global $post; $video_url = get_post_meta( $post->ID, 'videourl', true ); ?> <th scope="row">视频输入播放地址:</th> <tr> <td> <label for="videourl"> <input id="videourl" type="text" size="75" name="videourl" value="<?php echo $video_url;?>" /> <br /><em>說明:输入视频播放地址,用于显示视频的缩略图。不需要请留空。</em> </label> </td> </tr> <?php } ?>
接着,就可以在后台看到这样的meta box
输入你想用的视频缩略图,然后在前台显示即可(我是写在了文章的主循环内)
<?php $video_url = get_post_meta(get_the_ID(), 'videourl', true); // check if the custum field has a value if($video_url != '') { require_once "/VideoUrlParser.class.php"; $info = VideoUrlParser::parse($video_url); echo "<a href=".get_permalink()."><img src=".$info['img']." /></a>"; }?>
info含有的几个值,分别是img(用于视频缩略图),title(视频标题),url(地址),swf(视频swf播放地址)。我只用到了img和swf地址。具体的可以根据自己的需要进行调整。
感谢原作者。
转自http://axiu.me/learning_notes/get_video_thumb_from_videosites/
声明:本文采用 BY-NC-SA 协议进行授权,如无注明均为原创,转载请注明转自 你好!刘
本文地址:抓取优酷土豆新浪等网站视频缩略图
本文地址:抓取优酷土豆新浪等网站视频缩略图
发表评论