抓取优酷土豆新浪等网站视频缩略图

By
WP札记

最近遇到一个比较奇特的要求,也是我一直在考虑的问题,就是获取视频网站的视频缩略图。这样,可以很方便对带视频的界面进行美化。

常常看到优酷等网站本身或者给其他网站定制的内容中出现视频缩略图,但是一番搜索之后发现优酷本身好像没有开放类似的接口给普通用户。所以这个问题就被搁置下来了。最近有客户需要大量使用视频,而且是第三方的视频网站,并且在页面中也要应用视频截图。所以一番摸索之后发现有个好东西:视频抓取工具。

原作者页面视频抓取工具

演示地址

实际使用效果

VideoUrlParser

使用方法

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
VideoUrl

输入你想用的视频缩略图,然后在前台显示即可(我是写在了文章的主循环内)

";
}?>

info含有的几个值,分别是img(用于视频缩略图),title(视频标题),url(地址),swf(视频swf播放地址)。我只用到了img和swf地址。具体的可以根据自己的需要进行调整。

感谢原作者。

您已经发表过意见了!

Comments: 35

  1. 缩略图是本地连接还是外链的?

    2012年11月21日
  2. 额 现在看视频 广告真多

    2012年11月21日
  3. :grin: 今天刚好要用这个,做个像微博发布视频一样,刚好博主今天发了这么一个好东西,顶起!谢谢博主!

    2012年11月21日
    • @Anrai wordpress自动这样的功能啊,输入视频页面URL,就能显示视频,只需要修改一点点代码。而且评论中也能实现,我曾经做过

      2012年11月21日
    • @集趣 欢迎分享方法~

      @venmax 2012年11月22日
    • @Anrai 欢迎使用

      @venmax 2012年11月22日
    • @axiu 好像水煮鱼的博客里有这样的代码啊

      2012年11月22日
    • @集趣 你想说啥?要是想发就发出来呗~~我又不是抄谁的代码没说明。

      @venmax 2012年11月22日
    • @axiu 晕,你误会我的意思了,你是说让我分享,我就告诉你,我说的那个方法是水煮鱼博客里有介绍过。

      没说你抄袭啊

      2012年11月22日
    • @集趣 哦,不好意思,误会了~~

      @venmax 2012年11月22日
    • @集趣 要实现这个功能,你从写的oembed支持?

      2012年12月13日
  4. 做视频网站很需要的功能啊

    2012年11月21日
  5. 视频网站,现在是个盈利能力很强大的网站啊。。。

    2012年11月22日
  6. 看到有的博客有内置这个功能

    2012年11月22日
  7. 真的是很不错的小插件。之前我也想过。也搁浅了。

    2012年11月23日
  8. 好巧,昨天我还在改这个VideoUrlParser,之前自己写的那个,土豆和优酷可以用API获取,然后其他的只能分析网页源码了…

    2012年11月23日
    • @mopvhs 其实我正在消灭Google Reader的未读文章,看到这篇就杀过来吐个槽… :cool:

      2012年11月23日
    • @mopvhs 我就是拿来就用嘛~哈哈

      @venmax 2012年11月24日
  9. 不错哦,这个截图是会保存到空间本地的吗?

    2012年11月24日
  10. 记住:视频缩略图 》阿修博客搜

    2012年11月24日
  11. 暫時沒有這樣的需要,不過先mark下 :!:

    PS.今日發現你的域名沒有添加www的解析啊,貌似以前可以的orz

    2012年11月25日
    • @小雪 哎呀,这个真没发现。谢谢小雪提醒

      @venmax 2012年11月28日
  12. 好实用的方法,来支持一下

    2012年11月26日
  13. 这个很实用,收藏一个!

    2012年11月27日
  14. 你姓修吗?

    2012年11月28日
  15. good idea,学习了。

    2012年11月29日

发表评论

您的电子邮箱地址不会被公开。

*

:razz: