• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php 获取Youtube某个User所有Video信息

php 搞代码 4年前 (2022-01-23) 12次浏览 已收录 0个评论

php 获取Youtube某个User所有Video信息

因工作需要,获取Youtube上某个用户的所有视频信息,写了这个类,分享给大家。

YTUserVideo.class.php

<?php/** 获取Youtube某个User所有Video信息*   Date:   2015-01-08*   Author: fdipzone*   Ver:    1.0**   Func:*   public  getVideosInfo 获取用户所有视频信息*   private getVideoNum   获取用户视频数量*   private getVideoInfo  获取视频信息*   private getContent    视频简介整理*   private unescape      unicode转中文*/class YTUserVideo{ // class start    private $_user = ''; // 用户名称    /** 初始化    * @param String $user 用户名称    */    public function __construct($user=''){        if($user!=''){            $this->_user = $user;        }else{            throw new Exception("user is empty", 1);        }    }    /** 获取user所有视频信息    * @return Array    */    public function getVideosInfo(){        $info = array();        // 获取视频数量        $videonum = $this->getVideoNum();        // 获取视频信息        for($i=1; $igetVideoInfo($i);            array_push($info, $videoInfo);        }        return $info;    }    /** 获取用户视频数量    * @return int    */    private function getVideoNum(){        $videos = simplexml_load_file('http://gdata.youtube.com/feeds/base/users/'.$this->_user.'/uploads?max-results=1&start-index=1');        $videonum = $videos->children('openSearch', true)->totalResults;        return $videonum;    }    /** 获取视频信息    * @param  String $index 视频的序号    * @return Array    */    private function getVideoInfo($index){        // 获取视频id及简介        $video = simplexml_load_file('http://gdata.youtube.com/feeds/base/users/'.$this->_user.'/uploads?max-results=1&start-index='.$index);        $videoId = str_replace('http://gdata.youtube.com/feeds/base/videos/', '', (string)($video->entry->id));        $videoCon+本文来源gao@daima#com搞(%代@#码网
搞代gaodaima码

tent = $this->getContent($video->entry->content); // 根据视频id获取视频信息 $content = file_get_contents('http://youtube.com/get_video_info?video_id='.$videoId); parse_str($content, $ytarr); $info = array(); $info['id'] = $videoId; $info['thumb_photo'] = $ytarr['thumbnail_url']; // 缩略图 $info['middle_photo'] = $ytarr['iurlmq']; // 中图 $info['big_photo'] = $ytarr['iurl']; // 大图 $info['title'] = $ytarr['title']; // 标题 $info['content'] = $videoContent; // 简介 $info['publish_date'] = $ytarr['timestamp']; // 发布时间 $info['length_seconds'] = $ytarr['length_seconds']; // 视频长度(s) $info['view_count'] = $ytarr['view_count']; // 观看次数 $info['avg_rating'] = $ytarr['avg_rating']; // 平均评分 $info['embed'] = '//www.youtube.com/embed/'.$videoId; // Embed return $info; } /** 获取视频简介 * @param String $content 内容 * @return String */ private function getContent($content){ preg_match('/(.*?)<\/span>/is', $content, $matches); return $this->unescape($matches[1]); } /* unicode 转 中文 * @param String $str unicode 字符串 * @return String */ private function unescape($str) { $str = rawurldecode($str); preg_match_all("/(?:%u.{4})|&#x.{4};|&#\d+;|.+/U",$str,$r); $ar = $r[0]; foreach($ar as $k=>$v) { if(substr($v,0,2) == "%u"){ $ar[$k] = iconv("UCS-2BE","UTF-8",pack("H4",substr($v,-4))); }elseif(substr($v,0,3) == "&#x"){ $ar[$k] = iconv("UCS-2BE","UTF-8",pack("H4",substr($v,3,-1))); }elseif(substr($v,0,2) == "&#") { $ar[$k] = iconv("UCS-2BE","UTF-8",pack("n",substr($v,2,-1))); } } return join("",$ar); }} // class end?>
demo.php

<?phprequire 'YTUserVideo.class.php';$obj = new YTUserVideo('GOtriphk'); // 用户名称GOtriphk https://www.youtube.com/user/GOtriphk/videos$videosInfo = $obj->getVideosInfo();echo '
';print_r($videosInfo);echo '

';?>
输出:

Array(    [0] => Array        (            [id] => jYDwFozp6PY            [thumb_photo] => http://i.ytimg.com/vi/jYDwFozp6PY/default.jpg            [middle_photo] => http://i.ytimg.com/vi/jYDwFozp6PY/mqdefault.jpg            [big_photo] => http://i.ytimg.com/vi/jYDwFozp6PY/hqdefault.jpg            [title] => 【比卡超ssss突襲尖咀!!!】香港比卡超展            [content] => 香港有比卡超展,同場會展出全球最大、高13米嘅「比卡超立體飛船」,仲會有700隻唔同角色嘅精靈現身,當然亦唔小得又勁多期間限定紀念品可以優先搶以及由橫濱專程到港嘅聖誕版比卡超同粉絲全接觸,總之飛唔飛都一樣有得玩!The ONE x 寵物小精靈 聖誕夢想飛行日期:2014年11月9日至2015年1月4日時間:10am-10pm地點:The ONE UG2 中庭            [publish_date] => 1420715690            [length_seconds] => 124            [view_count] => 603            [avg_rating] => 0.0             => //www.youtube.com/embed/jYDwFozp6PY        ).....

源码下载地址:点击下载

以上就介绍了php 获取Youtube某个User所有Video信息,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php 获取Youtube某个User所有Video信息
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址