首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 獲取 YouTube 影片資訊:解析 get_video_info 介面完整範例

     編輯:PHP 綜合知識

介面原理

YouTube 內部介面 https://youtube.com/get_video_info?video_id=VIDEO_ID 回傳 URL-encoded 字串,包含標題、縮圖、多種解析度串流 URL 等資訊。

核心代碼

<?php
function getYouTubeInfo($video_id) {
    $content = file_get_contents("https://youtube.com/get_video_info?video_id=" . $video_id);
    parse_str($content, $arr);
    return $arr;
}

$video_id = 'psvkyf3PzjE';
$info = getYouTubeInfo($video_id);

header('Content-Type: text/html; charset=utf-8');
echo "<p><strong>{$info['title']}</strong></p>";
echo "<p><img src='{$info['thumbnail_url']}'></p>";
echo "<p><img src='{$info['iurlmq']}'></p>"; // 中圖
echo "<p><img src='{$info['iurl']}'></p>";    // 大圖

echo "<pre>";
print_r($info);
echo "</pre>";

關鍵回傳欄位說明

欄位說明
title影片標題
thumbnail_url預設縮圖 (120x90)
iurlmq中等縮圖 (320x180)
iurl大尺寸縮圖 (480x360)
url_encoded_fmt_stream_map各畫質串流 URL (含 itag、簽名、過期時間)
player_responseJSON 格式完整播放器回應 (現代介面主流)

注意事項與現代替代

  • 介面非官方公開 API:YouTube 可能隨時變更/下線,生產環境請使用 YouTube Data API v3 (需 API Key、配額限制)。
  • 簽名解密:串流 URL 含 signature 參數,需配合 player_response 中的演算法解密 (或使用 ytdl-core 等成熟庫)。
  • 年齡限制/私人影片:需 OAuth 授權 Cookie 才能獲取資訊。
  • 編碼:回傳為 application/x-www-form-urlencoded,parse_str 完美解析。

結語

get_video_info 是快速原型開發、教學研究的便捷途徑,但非穩定契約。正式產品務必遷移至官方 Data API v3,並妥善處理配額、錯誤重試、快取策略。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved