請稍待...

「顯示播放清單節目名稱」功能上線﹍Beta 版

首頁 _最新消息 「顯示播放清單節目名稱」功能上線﹍Beta 版
收到很多需求希望的功能「顯示播放清單節目名稱」,現在已經實現了一部份,只要收看「非直播」的節目,也就是播放清單的形式,在 YouTube 播放器下方會列出最新的一部份節目名稱,如此網頁版可省下一些滑鼠移到播放器右上角,點播放清單圖示選節目名稱的時間;而手機由於對播放器的清單操作不便,這功能算是省了很多力氣。



一、製作原理


1. 避免過份佔用免費資源

原本的規劃」是抓播放清單的所有節目名稱,一個清單最多有可能是 200 個或 101 個節目。

到今日為止,本站收錄的節目計有將近 600 個,需要抓播放清單的節目計有約 400 個,而單一節目清單數量就算以 100 個來算就好,400 x 100 = 40000,一天定期抓 40000 筆資料,然後資料庫要供使用者存取這麼多資料,我覺得對提供免費資源的 Google 伺服器會過意不去。

而且本站節目數量會不斷增加,將來破 1000 也是有可能的事,資料庫存取流量太大時是有可能被暫停連線的,需要先未雨綢繆。


2. 抓 YouTube RSS Feed

後來找到 YouTube 官方提供的 RSS 服務,每個播放清單都有一個 RSS Feed 網址,但沒有存放所有節目內容,最多 15 筆資料而已。

因此決定採取這個方案,400 x 15 = 6000,這些資料存在 Google 的免費資料庫,每日的更新、存取負擔會比之前的方案減輕許多。



二、使用限制


1. 新聞群組

此功能上線後經測試,發現新聞類的節目更新速度太快,導致伺服器一天更新一次的節目清單內容,出現在新聞群組的節目下方時,會與時事落差太大。

因此決定所有新聞群組的節目都不顯示最新節目列表,而其他的群組大多屬於帶狀節目,多半一天才播放一次新節目,那麼顯示近期節目清單的內容就相當適合。


2. 顯示數量

有些節目列表無法顯示完整的 15 個最新節目,例如只顯示 9 個,這並非程式有問題,而是因為 YouTube 官方提供的 RSS 服務,就是只顯示這樣的數量。

原因有可能跟該節目的更新速度有關,如果該節目常常更新,就能填滿 RSS 裡的 15 個名額;如果間隔太久才更新,可能某個日期之前的節目資料就被刪除了。



三、未來規劃


稱為 Beta 版的意思,代表目前的作法是權宜之計,先求有,將來再求好。

未來的規劃是讓所有人都能顯示最新的、完整的節目列表,包括新聞群組。

要做到這一點,必須使用 YouTube API,而免費使用有一定的限度。

所以將來開發會員系統、製作資料庫後,讓大家加入會員,可以儲存一些基本設定資料,然後每人自行申請 YouTube API 金鑰。當每個會員使用自己的 YouTube API 金鑰,就能使用自己的免費額度,來抓取最新、最完整的節目播放清單了。

沒有留言:

張貼留言

錯誤回報