2026年5月23日

YouTube RSS 失效後,如何取得各種播放清單資料?

YouTube RSS 失效後,如何取得各種播放清單資料?

Wayne Fu 0 A+
過去幾個月發現 YouTube RSS 很不穩定,有時能撈到資料,有時返回 4xx、5xx 錯誤。但因為一段時間或隔天又正常了,也就沒當一回事。直到最近連續幾天都抓不到資料,查了一下果真國外網友早就反應這件事,可搜尋「youtube rss 404」可看到一堆災情,或參考這個 reddit 討論串: 問了 AI 結論大致是:YouTube 可能不再維護 RSS,也許直接縮減訪問流量,或是任流量超過伺服器負荷後報錯,等過段時間才恢復流量,才會出現時好時壞的狀況。總之,YouTube RSS 已經不再是可信任的資料取得管道。 經研究後,本片會提供以下 YouTube RSS 的替代方案:
  • 使用 YouTube Data API 取得資料(需要耗費 quota 配額)
  • 將資料存在 Google Sheet(試算表)成為自製 RSS 來源
  • 使用 yt-dlp 取得資料(不需要耗費 quota 配額)
(圖片出處: unsplash.com)

一、原始官方 YT RSS 網址

1. YT RSS 網址格式 過去 YouTube 官方提供了 RSS 連結,網址格式如下:
  • 使用 YT 頻道(Channel) ID:https://www.youtube.com/feeds/videos.xml?channel_id=填入頻道 ID
  • 使用播放清單(Playlist) ID:https://www.youtube.com/feeds/videos.xml?playlist_id=填入播放清單 ID
從以上 RSS 網址可取得最新的影片資料,最多 15 個,雖然數量不多,但在沒有特別需求的情況下是挺好用的。YouTube Data API 雖然能取得更多資料,但每日配額(Quota)有限制, 而 YouTube RSS 沒有使用限制,如果有爬資料的需求算滿方便的。 2. 取得頻道 ID 取得「頻道 ID」是非常關鍵的一個步驟,本篇的主題「如何取得各種播放清單資料」若是找不到頻道 ID 將無法實現,尤其從前面的 YT RSS 網址就能看到,必須填入「頻道 ID」才能取得該頻道的 RSS 內容。 有時進入某個 YT 頻道會看到網址長得像這樣: https://www.youtube.com/channel/UCoLrcjPV5PbUrUyXq5mjc_A 在字串 channel/ 之後 "UC" 開頭的字串 "UCoLrcjPV5PbUrUyXq5mjc_A" 就是「頻道 ID」。 然而大部分的 YT 頻道,進入後會看到的網址結構是這樣: https://www.youtube.com/@MLB 此時要如何取得「頻道 ID」呢?以下提供最簡單的步驟:
  • 滑鼠按右鍵 → 檢視網頁原始碼
  • 勾選「自動換行」,搜尋起來看得比較清楚
  • 搜尋字串 "externalId" → 後面的字串 "UCxxxxxxxxx" 就是「頻道 ID」

二、各種 YT 播放清單 ID 格式

1. 標準播放清單 ID 這是一個標準的 YT 播放清單網址: https://www.youtube.com/playlist?list=PLL-lmlkrmJal2ned-dCINmltnpbnc7KvG 在網址字串 "list=" 之後,"PL" 開頭的完整字串,就是標準的 YT 「播放清單 ID」格式: PLL-lmlkrmJal2ned-dCINmltnpbnc7KvG 2. 各種播放清單 ID YouTube 還有各種隱藏的播放清單格式,由系統自動產生。當我們取得 YouTube「頻道 ID」後,可以變化出各種播放清單 ID,下面使用 MLB 頻道 ID "UCoLrcjPV5PbUrUyXq5mjc_A" 進行舉例說明:
  • 所有上傳影片:
    • 開頭 "UC" 字串改為 "UU" → UUoLrcjPV5PbUrUyXq5mjc_A
  • 所有長片:
    • 開頭 "UC" 字串改為 "UULF" → UULFoLrcjPV5PbUrUyXq5mjc_A
  • 所有短片:
    • 開頭 "UC" 字串改為 "UUSH" → UUSHoLrcjPV5PbUrUyXq5mjc_A
  • 所有直播影片:
    • 開頭 "UC" 字串改為 "UULV" → UULVoLrcjPV5PbUrUyXq5mjc_A
  • 所有熱門影片:
    • 開頭 "UC" 字串改為 "UULP" → UULPoLrcjPV5PbUrUyXq5mjc_A
  • 所有熱門短片:
    • 開頭 "UC" 字串改為 "UUPS" → UUPSoLrcjPV5PbUrUyXq5mjc_A
  • 所有熱門直播:
    • 開頭 "UC" 字串改為 "UUPV" → UUPVoLrcjPV5PbUrUyXq5mjc_A
了解以上處理邏輯後,可自行產生各種播放清單網址,例如 MLB 熱門影片播放清單網址為:

三、操作 YT Data API 取得資料

操作 YouTube Data API 是取得 YT 播放清單資料最保險的方法,資料最即時(RSS 資料更新慢),有每日額度(quota)限制,不過對於個人使用的話應該不成問題。 1. 準備動作 使用 YouTube Data API 的準備動作不少:
  • 需要在「Google Cloud」建立過專案
  • 接著啟用 YouTube Data API
  • 同時要申請 API 金鑰
以上流程可參考這篇「取得 Google API Key 及啟用服務流程」。 2. 取得播放清單資料 詳細操作文件可參考官網「PlaylistItems: list」,該頁面右側有 API 界面可以測試,以下提供操作範例: https://youtube.googleapis.com/youtube/v3/playlistItems?part=snippet&maxResults=25&playlistId=UUoLrcjPV5PbUrUyXq5mjc_A&key=[填入 API 金鑰] 以上參數簡單說明:
  • part:參數 snippet 代表取得摘要資訊
  • maxResults:最多取得幾筆資料,若沒設定則最多 50 筆
  • playlistId:填入播放清單 ID
  • key:填入前面申請的 API 金鑰
回傳的資料大致可取得播放清單每個影片的:標題、描述、縮圖、頻道標題、影片 ID 等等。 3. 取得影片詳細資料 從「PlaylistItems」這個方法取得的影片資料不是很多,如果需要更詳細的資料,需要改用「Videos」這個方法,詳細操作文件可參考官網「Videos: list」,需要取得哪些資料可在 part 填入相關參數。官方文件也有說明,如何取得不同地區的熱門影片資料。 該頁面右側有 API 界面可以測試,以下提供操作範例: https://youtube.googleapis.com/youtube/v3/videos?part=snippet,liveStreamingDetails&id=5WpMyA0Xj6Y,LXVz7JC1rD0&key=[填入 API 金鑰] 以上參數簡單說明:
  • part:參數使用 snippet 及 liveStreamingDetails,除了基本摘要,還可取得影片的直播相關資料
  • id:
    • 填入所有要查詢的影片 ID,每個 ID 之間用小寫逗號 "," 隔開
    • 一次查詢最多可填入 50 個影片 ID
  • key:填入前面申請的 API 金鑰

四、將 Google 試算表作為 RSS 資料庫

如果需要反覆存取 YT 播放清單資料,一直使用 YouTube Data API 可能會導致超過每日額度,此時可將定期取得的資料儲存到 Google 試算表當作 RSS 使用,直接存取 Google 試算表將不會耗費 YouTube API 額度。 存取 Google Sheet 試算表資料庫的方法過去我寫了不少教學,可參考以下文章:

五、操作 yt-dlp 取得資料

除了官方 API,還有一個免費開源的工具 yt-dlp 可取得播放清單資料,還不需要耗費額度,不過因為主題比較大,會另寫一篇教學說明。
更多 YouTube 相關文章:
0 0
如這篇文章對你有幫助,歡迎「分享」到 FB、「追蹤」粉絲團、「訂閱」最新文章

沒有留言:

張貼留言注意事項:

◎ 勾選「通知我」可收到後續回覆的mail!
◎ 請在相關文章留言,與文章無關的主題可至「Blogger 社團」提問。
◎ 請避免使用 Safari 瀏覽器,否則無法登入 Google 帳號留言(只能匿名留言)!
◎ 提問若無法提供足夠的資訊供判斷,可能會被無視。建議先參考這篇「Blogger 提問技巧及注意事項」。
◎ CSS 相關問題非免費諮詢,建議使用「Chrome 開發人員工具」尋找答案。
◎ 手機版相關問題請參考「Blogger 行動版範本的特質」→「三、行動版範本不一定能執行網頁版工具」;或參考「Blogger 行動版範本修改技巧 」,或本站 Blogger 行動版標籤相關文章。
◎ 非官方範本問題、或貴站為商業網站,請參考「Blogger 免費諮詢 + 付費諮詢
◎ 若是使用官方 RWD 範本,請參考「Blogger 推出全新自適應 RWD 官方範本及佈景主題」→ 不建議對範本進行修改!
◎ 若留言要輸入語法,"<"、">"這兩個符號請用其他符號代替,否則語法會消失!
◎ 為了過濾垃圾留言,所有留言不會即時發佈,請稍待片刻。
◎ 本站「已關閉自刪留言功能」。

TOP