文章內容
YouTube 下載工具
因為常常需要 YT 轉檔下載,但 YT 又愛改版,大叔就 vibe 了個小工具輔助下載,用了一年多,最近看到不少前輩都在分享 YT 下載工具,我也更新了一下程式,分享出來給大家使用。

這工具主要功能是:
1. :
2. 播放清單:一鍵批次下載
針對播放清單,介面會自動出現綠色的 「全部下載 (自動接續)」 按鈕。
-
自動佇列: 按下後系統會將影片排隊。
-
接續邏輯: 下載完第一部檔案並傳送到瀏覽器後,才會自動啟動第二部。
-
狀態監控: 列表會顯示「排隊中」、「下載中」、「已完成」,不會讓多個任務同時卡死電腦。
3. 引擎自動更新 (Auto-Update)
系統啟動時會自動偵測並更新 yt-dlp。
-
好處: 解決 YouTube 演算法改版導致的「Requested format not available」問題。
-
日誌: 網頁控制台會顯示
✨ yt-dlp 引擎已自動更新!
軟體連結: https://lihi.cc/qLebH
將壓縮檔解壓縮後,只要電腦有安裝完 Python,第一次執行 yt-dlp,未來就可直接一直使用,下面是完整安裝說明。
YouTube 影片下載工具 v0.3.2 完整操作指南
一、準備階段 (環境建構)
1. 安裝 Python
-
下載:去 下載最新版。
-
安裝關鍵:安裝時務必勾選 「Add Python to PATH」。
2. 安裝 FFmpeg (影音合併關鍵)
-
用途:YouTube 的 1080p 影片影音是分開的,必須使用 FFmpeg 合併,否則只會抓到 360p。
-
取得方法:
-
從 下載
ffmpeg-release-essentials.zip。 -
解壓縮後,到
bin資料夾找到ffmpeg.exe。 -
把這支檔案複製到你的專案資料夾中的
backend目錄下。
-
-
連結提供的壓縮包已內含 FFmpeg 8.0.1版,不用下載。
3.安裝必要套件 (第一次使用時安裝)
開啟 命令提示字元 (cmd),輸入這行指令:
py -m pip install flask flask-cors yt-dlp
-
flask: 負責讓網頁跟 Python 溝通。 -
yt-dlp: 負責去 YouTube 抓影片的核心技術。 -
安裝完後,未來會自動更新
4.Cookies 匯出教學
為提高成功率,建議將 cookies 存放至 backend 內。
(1. 安裝瀏覽器外掛
-
外掛名稱:
Get cookies.txt LOCALLY -
下載連結:
-
特點:這款外掛只會在在地端執行,不會上傳你的資料,安全可靠。
(2. 如何使用
-
登入 YouTube:在瀏覽器打開 YouTube 並確保已登入你的帳號。
-
匯出檔案:
-
點擊瀏覽器右上角的
Get cookies.txt LOCALLY圖示。 -
點擊 「Export as cookies.txt」 按鈕(通常會針對當前分頁即 youtube.com 匯出)。
-
-
檔案命名:將下載下來的檔案重新命名為
cookies.txt。 -
放置檔案:將這個
cookies.txt檔案直接丟進你的backend資料夾中(跟app.py放在一起)。
二、專案目錄結構
請確保你的資料夾看起來像這樣,檔案位置放錯會找不到路:
MyYouTuber/
├── 下載 YouTube 影片.html (前端網頁)
├── 啟動工具.bat (一鍵啟動腳本)
└── backend/ (後端資料夾)
├── app.py (核心程式 v0.3.2)
├── ffmpeg.exe (影音合併工具)
└── cookies.txt (手動通行證:若自動讀取失敗時使用)
三、操作流程
-
雙擊啟動: 執行
啟動工具.bat,等待系統自動檢查環境與更新。若連線成功會看到右上角出現 連線已就緒,即可開始使用。 -
解析網址: 貼上影片或播放清單網址並點擊「解析」。
-
執行下載:
-
單部影片: 直接點擊藍色「下載」。
-
播放清單: 點擊上方綠色「全部下載」。
-
-
耐心等候: 1080p 合併需時約 20-40 秒,完成後小黑框會出現提醒。
四、疑難排解
1. 遇到「Failed to fetch」或紅字?
-
檢查【命令提示字元】有沒有關掉?
-
確認網址是否正確。
2. YouTube 還是覺得我是機器人?
-
確保你在瀏覽器上有登入自己的 YouTube 帳號。
3. 為什麼我下載只有 360p?
-
原因:影音合併失敗。當
yt-dlp找不到ffmpeg.exe或路徑不正確,它會偷偷降級抓取 360p 的單一整合檔。 -
解決:確保
ffmpeg.exe放在backend資料夾,且小黑框啟動時顯示✅ FFmpeg 合併引擎: 正常。
4. 解析失敗與紅字處理
-
報錯:Could not copy Chrome cookie database:
-
原因:Chrome 正在執行。
-
對策:目前版本已更新會自動將程式切換到「純偽裝模式」。
-
-
報錯:HTTP Error 403: Forbidden:
-
對策:程式已加入
--extractor-args模擬 iOS/Android,通常會自動解決。
-
5. 點擊全部下載沒反應?
-
請檢查瀏覽器上方是否攔截了「多個檔案下載」,請設定為「允許」。
6. 出現 500 Internal Server Error?
-
程式已鎖定
debug=False,通常重啟小黑框即可恢復。
7.有時出現錯誤是因為裡面有多種模式,一種不行就會切換另一種,目前使用只要是模擬手機模式,一定會過,所以稍等一下,別急。

8.播放清單實測大約200支左右抓取清單就會來到近10分鐘,為避免網頁當掉,建議不要一次超過100支
五、下載模式優先級
程式會依照下列順序自動嘗試:
-
手動 Cookies.txt:穩定性最高,建議長期放置。
-
Chrome / Edge 通行證:程式會自動嘗試讀取,但若瀏覽器開啟中會被鎖定。
-
純偽裝模式 (Pure Disguise):最後一道防線,當所有通行證都失效或被鎖定時,此模式能模擬手機環境成功繞過
403 Forbidden。
六、 技術規格總結
-
後端版本: Flask 3.x
-
解析引擎: yt-dlp (最新版)
-
合併引擎: FFmpeg 8.x
-
前端框架: React 18 (Tailwind CSS 佈局)
#AI應用 #vibecoding #行銷大叔的碎碎念 #霍家私塾 #大叔愛說笑



