ホームページ バックエンド開発 PHPチュートリアル php Youtube上の特定のユーザーのビデオ情報をすべて取得します

php Youtube上の特定のユーザーのビデオ情報をすべて取得します

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

php Youtube 上の特定のユーザーのすべてのビデオ情報を取得します

仕事の都合上、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; $i<=$videonum; $i++){
            $videoInfo = $this->getVideoInfo($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>(.*?)<\/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
<?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 '
'; ?>
ログイン後にコピー

出力:
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
        )
.....
ログイン後にコピー

ソースコードのダウンロードアドレス: クリックしてダウンロード

上記では、Youtube 上の特定のユーザーのすべてのビデオ情報をコンテンツも含めて取得するための php を紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Huawei GT3 ProとGT4の違いは何ですか? Huawei GT3 ProとGT4の違いは何ですか? Dec 29, 2023 pm 02:27 PM

多くのユーザーはスマートウォッチを選ぶときにファーウェイブランドを選択しますが、その中でもファーウェイ GT3pro と GT4 は非常に人気のある選択肢であり、多くのユーザーはファーウェイ GT3pro と GT4 の違いに興味を持っています。 Huawei GT3pro と GT4 の違いは何ですか? 1. 外観 GT4: 46mm と 41mm、材質はガラスミラー + ステンレススチールボディ + 高解像度ファイバーバックシェルです。 GT3pro: 46.6mm および 42.9mm、材質はサファイアガラス + チタンボディ/セラミックボディ + セラミックバックシェルです。 2. 健全な GT4: 最新の Huawei Truseen5.5+ アルゴリズムを使用すると、結果はより正確になります。 GT3pro: ECG 心電図と血管と安全性を追加

iPhone 13でYouTubeのバックグラウンド再生を有効にする方法は? iPhone 13でYouTubeのバックグラウンド再生を有効にする方法は? Apr 25, 2023 pm 07:25 PM

ある時点で、スマートフォンのバックグラウンドで YouTube を再生しながら、同じデバイスで他の作業を実行できるのではないかと疑問に思ったことがあるでしょう。 iPhone のバックグラウンドで YouTube を再生したい場合は、この記事を読み続けてください。もちろん、信頼できるソリューションを提供します。さまざまな YouTube オプション: YouTube には、YouTube アプリ、YouTube ミュージック、YouTube ウェブサイトという 3 つのメディアがあります。これらのメディアを通じて、ビデオを見たり、音楽を聴いたりできます。 YouTube の音楽や動画をバックグラウンドで再生する方法をご紹介します。 iPhone で YouTube をバックグラウンドで再生する方法 (最良の方法) YouTube で必要な曲を見つけます

iPhone または iPad で YouTube の「問題が発生しました。クリックしてもう一度お試しください」エラーを修正する iPhone または iPad で YouTube の「問題が発生しました。クリックしてもう一度お試しください」エラーを修正する May 03, 2023 pm 12:43 PM

多くの iPhone および iPad ユーザーが Twitter やソーシャル メディア全般でこの問題を報告しているため、YouTube もこの問題を認識しているようです。この問題が発生した場合、それは明らかです。ビデオを再生しようとすると、ランダムに再生されず、代わりに黒い画面が表示され、「問題が発生しました。クリックしてもう一度お試しください。」というエラー メッセージが表示されます。 [再試行] をクリックすると、何も起こらずエラー メッセージが残るか、回転して再度表示されます。 iPhone/iPad で YouTube アプリを更新する まず最初に行う必要があるのは、iPhone または iPad で YouTube アプリを更新することです。

修正: Windows 11 で Snipping ツールが機能しない 修正: Windows 11 で Snipping ツールが機能しない Aug 24, 2023 am 09:48 AM

Windows 11 で Snipping Tool が機能しない理由 問題の根本原因を理解すると、適切な解決策を見つけるのに役立ちます。 Snipping Tool が正しく動作しない主な理由は次のとおりです。 フォーカス アシスタントがオンになっている: これにより、Snipping Tool が開かなくなります。破損したアプリケーション: 起動時にスニッピング ツールがクラッシュする場合は、破損している可能性があります。古いグラフィック ドライバー: 互換性のないドライバーは、スニッピング ツールに干渉する可能性があります。他のアプリケーションからの干渉: 実行中の他のアプリケーションが Snipping Tool と競合する可能性があります。証明書の有効期限が切れています: アップグレード プロセス中のエラーにより、この問題が発生する可能性があります。これらの簡単な解決策は、ほとんどのユーザーに適しており、特別な技術知識は必要ありません。 1. Windows および Microsoft Store アプリを更新する

Zeromouse: YouTuber が 16 g ゲーミング マウスを製作、あなたも購入できます。 Zeromouse: YouTuber が 16 g ゲーミング マウスを製作、あなたも購入できます。 Aug 16, 2024 pm 03:42 PM

超軽量ゲーミング マウスの世界は最近本格的に盛り上がっており、Cooler Master や Logitech などの主流のゲーム周辺機器メーカーも、25.99 ドルの Cooler Master MM711 や 105.99 ドルの Logitech G Pro X Superlight ch でこの動きに参加しています。

「問題が発生しました。クリックしてもう一度お試しください」iPhoneのYoutubeエラー[解決済み] 「問題が発生しました。クリックしてもう一度お試しください」iPhoneのYoutubeエラー[解決済み] Apr 14, 2023 pm 01:04 PM

多くの iPhone ユーザーは、iPhone の YouTube アプリで YouTube 動画を視聴する際に問題に直面します。 YouTube 動画を視聴中に、以下に示すようなエラー メッセージが突然表示されます。 YouTube でこのエラー メッセージが表示されるさまざまな理由のいくつかを発見しました。それらを以下にリストします。 YouTube アプリに問題があります。 Youku アプリが古い iPhone のネットワーク設定が変更された YouTube アプリのバックグラウンド アプリ更新機能が有効になっていない。そして

EV高速道路航続距離テストで、航続距離を過大評価しているのはModel 3だけではないことが判明 — BMW i5が期待を裏切る中、Mercedes EQEが群をリード EV高速道路航続距離テストで、航続距離を過大評価しているのはModel 3だけではないことが判明 — BMW i5が期待を裏切る中、Mercedes EQEが群をリード Jun 22, 2024 am 10:09 AM

EVの航続距離テスト方法の不備については多くのことが言われてきたが、YouTubeチャンネルCarwowによる最近のテスト(本文の下のビデオをご覧ください)では、テストに参加した6台の電気自動車はいずれも要求された航続距離に到達できなかったため、その点が改めて浮き彫りとなった。アコーディン

YouTubeってどんなソフト? YouTubeってどんなソフト? Feb 19, 2021 pm 02:55 PM

YouTube はビデオ Web サイトです。初期の会社はカリフォルニア州サン ブルーノにありました。YouTube は 2005 年 2 月 15 日に登録されました。中国系アメリカ人の陳詩軍らによって設立され、ユーザーはビデオやショート フィルムをダウンロード、視聴、共有できます。 。

See all articles