抓取优酷土豆新浪等网站视频缩略图
最近遇到一个比较奇特的要求,也是我一直在考虑的问题,就是获取视频网站的视频缩略图。这样,可以很方便对带视频的界面进行美化。
常常看到优酷等网站本身或者给其他网站定制的内容中出现视频缩略图,但是一番搜索之后发现优酷本身好像没有开放类似的接口给普通用户。所以这个问题就被搁置下来了。最近有客户需要大量使用视频,而且是第三方的视频网站,并且在页面中也要应用视频截图。所以一番摸索之后发现有个好东西:视频抓取工具。
原作者页面:视频抓取工具
实际使用效果
使用方法
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里 2013/5/5 修正自定义box不能保存的问题)
ID, 'videourl', true );
?>
视频输入播放地址:
add_action('wp_insert_post', 'insert_post_fn', 10, 2);
function insert_post_fn($post_id, $post = null)
{
$meta_post_fields = array("videourl");
$goloop = false;
if ($post->post_type == "post")
{
$mfs = $meta_post_fields;
$goloop = true;
}
if ($goloop)
{
foreach ($mfs as $key)
{
$value = @$_POST[$key];
if (empty($value))
{
delete_post_meta($post_id, $key);
continue;
}
if (!is_array($value))
{
if (!update_post_meta($post_id, $key, $value))
{
add_post_meta($post_id, $key, $value);
}
}
else
{
delete_post_meta($post_id, $key);
foreach ($value as $entry)
{
add_post_meta($post_id, $key, $entry);
}
}
}
}
}
接着,就可以在后台看到这样的meta box
输入你想用的视频缩略图,然后在前台显示即可(我是写在了文章的主循环内)
";
}?>
info含有的几个值,分别是img(用于视频缩略图),title(视频标题),url(地址),swf(视频swf播放地址)。我只用到了img和swf地址。具体的可以根据自己的需要进行调整。
感谢原作者。
转载请注明转自:抓取优酷土豆新浪等网站视频缩略图
这个不错,收藏了。以前经常为抓图苦恼!

@优宁维 嘿嘿
感谢分享,改进。你好请问这个代码 是不是不全啊我怎么没看明白呢。可以教一下我吗
嘿嘿,最好再缓存下来,不然以后会比较杯具。
呃。上面
function videourl_fn()
{
global $post;
$video_url = get_post_meta( $post->ID, ‘videourl’, true );这里差个
}
这个我研究过一点时间, youku应该问题不大, 土豆有很多地址不支持, 应该是正则没写好
这个厉害,收藏学习
嗯。很有用
优酷连这个API也不提供?擦~
真不错~! 果断收藏啊 正好用的上 谢谢博主了!!!!
不错用一下
这个功能很实用,收藏下来了。
这个不错,视频网站有需要用到。
好牛B
能不能做成插件啊,不会怎么用啊
有意思的东东
@Leniy 好东西要分享嘛
@axiu 怎么不想着做成插件?多方便
@Leniy 我会告诉你我没写过插件没经验吗,哈哈
@axiu 这个不难吧。你看,一下午就可以了:http://blog.leniy.info/clear-statpress.html
@Leniy 主要是不想去折腾……