Rumah pembangunan bahagian belakang tutorial php php 获取Youtube某个User所有Video信息

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

Aug 08, 2016 am 09:31 AM
gt info quot youtube

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 = &#39;&#39;; // 用户名称


    /** 初始化
    * @param String $user 用户名称
    */
    public function __construct($user=&#39;&#39;){
        if($user!=&#39;&#39;){
            $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));
        $videoContent = $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})|.{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) == ""){
                $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

?></span>
Salin selepas log masuk

demo.php
<?php require &#39;YTUserVideo.class.php&#39;;

$obj = new YTUserVideo(&#39;GOtriphk&#39;); // 用户名称GOtriphk https://www.youtube.com/user/GOtriphk/videos
$videosInfo = $obj->getVideosInfo();

echo '<pre class="brush:php;toolbar:false">';
print_r($videosInfo);
echo '
Salin selepas log masuk
'; ?>
输出:
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
            [embed] => //www.youtube.com/embed/jYDwFozp6PY
        )
.....
Salin selepas log masuk

源码下载地址:点击下载

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

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah perbezaan antara Huawei GT3 Pro dan GT4? Apakah perbezaan antara Huawei GT3 Pro dan GT4? Dec 29, 2023 pm 02:27 PM

Ramai pengguna akan memilih jenama Huawei apabila memilih jam tangan pintar Antaranya, Huawei GT3pro dan GT4 adalah pilihan yang sangat popular. Apakah perbezaan antara Huawei GT3pro dan GT4? 1. Rupa GT4: 46mm dan 41mm, bahan cermin kaca + badan keluli tahan karat + cangkang belakang gentian resolusi tinggi. GT3pro: 46.6mm dan 42.9mm, bahannya ialah kaca nilam + badan titanium/badan seramik + cangkerang belakang seramik 2. GT4 yang sihat: Menggunakan algoritma Huawei Truseen5.5+ terkini, hasilnya akan lebih tepat. GT3pro: Penambahan elektrokardiogram ECG dan saluran darah serta keselamatan

Bagaimana untuk mendayakan main balik latar belakang YouTube pada iPhone 13? Bagaimana untuk mendayakan main balik latar belakang YouTube pada iPhone 13? Apr 25, 2023 pm 07:25 PM

Pada satu ketika, anda mesti tertanya-tanya sama ada anda boleh memainkan YouTube di latar belakang telefon pintar anda dan melakukan kerja lain pada peranti yang sama. Jika anda ingin memainkan YouTube di latar belakang iPhone anda, anda boleh terus membaca artikel ini. Sudah tentu kami akan memberikan anda penyelesaian yang boleh dipercayai. Pilihan YouTube yang berbeza: YouTube mempunyai tiga medium, iaitu apl YouTube, muzik YouTube dan tapak web YouTube. Melalui media ini, anda boleh menonton video atau mendengar muzik. Berikut ialah cara memainkan muzik atau video di YouTube di latar belakang. Cara Memainkan YouTube di Latar Belakang pada IPhone (Cara Terbaik) Cari lagu di YouTube yang anda mahukan

Betulkan ralat 'Sesuatu telah berlaku, klik untuk mencuba lagi' YouTube pada iPhone atau iPad Betulkan ralat 'Sesuatu telah berlaku, klik untuk mencuba lagi' YouTube pada iPhone atau iPad May 03, 2023 pm 12:43 PM

YouTube nampaknya menyedari isu itu, kerana ramai pengguna iPhone dan iPad telah melaporkannya di Twitter dan merentasi media sosial secara amnya. Jika anda mempunyai masalah ini, ia agak jelas. Anda pergi untuk memainkan video dan ia tidak akan dimainkan secara rawak, sebaliknya menunjukkan skrin hitam dengan mesej ralat yang menyatakan "Sesuatu telah berlaku. Klik untuk mencuba lagi." Jika anda menekan Cuba Semula, sama ada tiada apa-apa yang berlaku dan mesej ralat kekal, atau ia berputar dan muncul semula. Kemas kini Apl YouTube pada iPhone/iPad Perkara pertama yang perlu anda lakukan ialah mengemas kini apl YouTube pada iPhone atau iPad anda kerana Yo

Betulkan: Alat snipping tidak berfungsi dalam Windows 11 Betulkan: Alat snipping tidak berfungsi dalam Windows 11 Aug 24, 2023 am 09:48 AM

Mengapa Alat Snipping Tidak Berfungsi pada Windows 11 Memahami punca masalah boleh membantu mencari penyelesaian yang betul. Berikut ialah sebab utama Alat Snipping mungkin tidak berfungsi dengan betul: Focus Assistant dihidupkan: Ini menghalang Snipping Tool daripada dibuka. Aplikasi rosak: Jika alat snipping ranap semasa pelancaran, ia mungkin rosak. Pemacu grafik lapuk: Pemacu yang tidak serasi mungkin mengganggu alat snipping. Gangguan daripada aplikasi lain: Aplikasi lain yang sedang berjalan mungkin bercanggah dengan Alat Snipping. Sijil telah tamat tempoh: Ralat semasa proses naik taraf boleh menyebabkan penyelesaian mudah ini sesuai untuk kebanyakan pengguna dan tidak memerlukan sebarang pengetahuan teknikal khusus. 1. Kemas kini apl Windows dan Microsoft Store

'Masalah berlaku, klik untuk mencuba lagi' Ralat Youtube pada iPhone [Selesai] 'Masalah berlaku, klik untuk mencuba lagi' Ralat Youtube pada iPhone [Selesai] Apr 14, 2023 pm 01:04 PM

Ramai pengguna iPhone menghadapi masalah semasa menonton mana-mana video YouTube pada apl YouTube pada iPhone. Mereka tiba-tiba menerima mesej ralat semasa menonton video YouTube seperti yang ditunjukkan di bawah. Kami telah menemui beberapa daripada pelbagai sebab yang membawa kepada mesej ralat ini di YouTube dan ia disenaraikan di bawah. Terdapat masalah dengan apl YouTube. Apl Youku lapuk Perubahan dibuat pada tetapan rangkaian pada iPhone Tidak mendayakan ciri muat semula apl latar belakang untuk apl YouTube. dan

youtube是什么样的软件 youtube是什么样的软件 Feb 19, 2021 pm 02:55 PM

YouTube是一个视频网站,早期公司位于加利福尼亚州的圣布鲁诺;YouTube注册于2005年2月15日,由美籍华人陈士骏等人创立,让用户下载、观看及分享影片或短片。

See all articles