Youtube:修訂版本之間的差異
出自福留子孫
(→四、使用 YouTube Data API) |
(→三、以 ID 取得更多訊息) |
||
第 43 行: | 第 43 行: | ||
#thumbnail_url: "https://i.ytimg.com/vi/b1VqwISR5QU/hqdefault.jpg" | #thumbnail_url: "https://i.ytimg.com/vi/b1VqwISR5QU/hqdefault.jpg" | ||
#html: '<iframe width="200" height="113" src="https://www.youtube.com/embed/b1VqwISR5QU?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen title="【 2022均優學習論壇】開幕"></iframe>' | #html: '<iframe width="200" height="113" src="https://www.youtube.com/embed/b1VqwISR5QU?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen title="【 2022均優學習論壇】開幕"></iframe>' | ||
+ | |||
+ | |||
+ | 兩支已不可看的影片 | ||
+ | |||
+ | https://www.youtube.com/watch?v=BfEwIX_fayg | ||
+ | |||
+ | https://www.youtube.com/watch?v=2Ww41REAwzg | ||
===四、使用 YouTube Data API=== | ===四、使用 YouTube Data API=== |
2024年2月7日 (三) 16:33的修訂版本
目錄
History 整理
最多保持 90 天的觀看記錄,在登入狀態下,叫出觀看記錄連結:「https://youtube.com/feed/history」
請注意: YouTube 的結構和運作方式可能會隨時間變化。
一、 30 天以內的觀看紀錄
- 打開 https://youtube.com/feed/history 網頁原始碼
- 找到 var ytInitialData = …
- 再找到之後的第一個 </script> ,取兩者之間,捨棄其他網頁原始碼。
- 取其間的 {"responseContext":…}}}}}}} 捨棄最後的「;」,存成 json 格式。
- 目前 2~4 步驟已寫入 2YTpreTidy1.php 中,自動擷取。
- 執行 2YTpreTidy1.php 將其塞入 YTpreTidy 資料表,且已有的片子不會重複塞入資料表。
- json 若碰到雙反斜線「\\」,是特殊語法,無法 decode ,會出錯,請務必確認 (例如:檀东东 搜索技术,普通人变强的唯一外挂。全套详细宝藏教程… know sth \ learn sth \ create sth \ do sth…,其中的「反斜」在原始碼中會轉義為「\\」,導致 json_decode 出錯)
- 2024.01.05更新2YTpreTidy1.php,因為有眾多 itemSectionRenderer ,所以多放一個foreach包住
- 為了容納繪文字(emoji),
- 將 title、descriptionSnippet、owner、ownerURL 四欄改為「utf8mb4_unicode_ci」
- 插入欄值前先執行「SET NAMES 'utf8mb4' COLLATE 'utf8mb4_unicode_ci';」
二、超過一個月以上的觀看紀錄
- 打開 chrome
- 打開「開發人員工具」
- 網址列貼上「https://www.youtube.com/feed/history」,並按 Enter
- 將頁面右側拉把向下拉到底,獲取更多的歷史記錄,但這些不會顯示在原始碼中。
- 在「開發人員工具」中,轉到「Network」或「網路」標籤頁。
- 在頁面上滾動以觀察新的網路請求。你應該能看到新的 XHR 或 Fetch 請求被發送。
- 找出 …browse?key=… (https://www.youtube.com/youtubei/v1/browse?key=…&prettyPrint=false) 的回應,並複製回應內容。
- 執行 2YTpreTidy2.php 將其塞入 YTpreTidy 資料表,且已有的片子不會重複塞入資料表。
三、以 ID 取得更多訊息
https://www.youtube.com/oembed?format=json&url=https://www.youtube.com/watch?v=b1VqwISR5QU
- title: "【 2022均優學習論壇】開幕"
- author_name: "均優學習論壇"
- author_url: "https://www.youtube.com/@quality-learning"
- type: "video"
- height: 113
- width: 200
- version: "1.0"
- provider_name: "YouTube"
- provider_url: "https://www.youtube.com/"
- thumbnail_height: 360
- thumbnail_width: 480
- thumbnail_url: "https://i.ytimg.com/vi/b1VqwISR5QU/hqdefault.jpg"
- html: '<iframe width="200" height="113" src="https://www.youtube.com/embed/b1VqwISR5QU?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen title="【 2022均優學習論壇】開幕"></iframe>'
兩支已不可看的影片
https://www.youtube.com/watch?v=BfEwIX_fayg
https://www.youtube.com/watch?v=2Ww41REAwzg
四、使用 YouTube Data API
(一)獲取 API 金鑰:
(二)查 part=contentDetails
https://www.googleapis.com/youtube/v3/videos?id={YOUR_VIDEO_ID}&part=contentDetails&key={YOUR_API_KEY}
- duration 屬性:影片的長度,格式為 ISO 8601 持續時間格式,如:PT15M33S 表示 15 分鐘 33 秒。
(三)查 part=snippet(片段)
https://www.googleapis.com/youtube/v3/videos?id={VIDEO_ID}&part=snippet&key={YOUR_API_KEY}
請求成功後,會收到一個 JSON 格式的回應(data),其中 items 陣列,它應該包含一個物件,裡面有關於影片的各種信息。如:data['items'][0]['snippet']['title'] 為影片 title 。
(四)part=statistics
提供影片的統計信息,如觀看次數、喜歡次數、討厭次數、評論數等。
(五)
()
()
五、影片牆程式參考範例
DS218 /ggp/browseWPND.php
其他
將 youtube 影片加入 播放清單
- 以頻道主的身份登入 youtube
- 按最左側「播放清單」圖示(漢堡+向右三角形)
- 選某一組「播放清單」
- 按「…」圖示,並選「新增影片」
- 貼上影片連結,並按下「新增影片」按鈕
取得youtube內建的影片縮圖
- 觀看影片:https://www.youtube.com/watch?v=影片ID
- 取影片縮圖:
- 480*360:http://img.youtube.com/vi/影片ID/0.jpg
- 120*90(開始小縮圖):http://img.youtube.com/vi/影片ID/1.jpg
- 120*90(中間小縮圖):http://img.youtube.com/vi/影片ID/2.jpg
- 120*90(結尾小縮圖):http://img.youtube.com/vi/影片ID/3.jpg
- 120*90(影片小縮圖):http://img.youtube.com/vi/影片ID/default.jpg
- 320*180(縮圖沒黑邊):http://img.youtube.com/vi/影片ID/mqdefault.jpg
- 640*480:http://img.youtube.com/vi/影片ID/sddefault.jpg
- 1280*720:http://img.youtube.com/vi/影片ID/maxresdefault.jpg
- php取圖範例:
$youtubeimg=substr($網片網址,-11); // 取影片ID echo "<a title='前往觀看影片' href='$網片網址'><img src='http://img.youtube.com/vi/".$youtubeimg."/sddefault.jpg'></a>";
下載 youtube 影片
下載高清畫質影片
- 4K Video Downloader 免費版
- VideoHunter 月租版或年租版
下載 youtube 字幕
線上連結
- downsub.com
- 在影片網址列最前面加「subtitle.to/」然後按 Enter ,如圖:
- 此頁會被導向「https://downsub.com/?url=影片網址」
- 調整右上角「LANGUAGE」(可省略)
- 單擊「下載」按鈕開始提取字幕。
- 選擇您要下載的字幕格式和語言,然後單擊下載按鈕。
軟體
- yt-dlp 命令列軟體,最強大
已過時
線上連結
- Toolbxs 免費工具
- 線上下載器
- youtube 字幕下載
- 把影片的字幕下載來用,做筆記更輕鬆!
- 支援下載「自動翻譯」:用影片其它語言的字幕翻成中文字幕
- 有 TXT 文字檔與 SRT 兩種格式
- youtube 縮圖下載
- youtube 字幕下載
- 線上下載器
- Getting YouTube Subtitles
影片標題為中文時,下載、解壓縮後取得的字幕檔名可能會變亂碼