平常時都是掛在youtube 上聽歌, 如果聽到喜歡的歌想要另存成 mp3, 我之前都在電腦裡安裝 yt-dlp , 透過指令模式來下載 mp3.
最近 youtube 增加新的機器人檢測造成 yt-dlp 無法下載 youtube 上的影片, 顯示的錯誤訊息:
ERROR: [youtube] Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies. Also see https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies for tips on effectively exporting YouTube cookies
執行畫面截圖:

yt-dlp 的網頁裡建議的最簡單解法是透過 –cookies-from-browser [your-browser] 來解決, 但實際執行之後, 會顯示錯誤訊息:
Extracting cookies from chrome
ERROR: Could not copy Chrome cookie database. See https://github.com/yt-dlp/yt-dlp/issues/7271 for more info
執行畫面截圖:

錯誤發生的原因可能是 chrome 瀏覽器增加了安全性的防護, 解法之一是還需要去設定 chrome browser, 讓外部的程式可以讀取 chrome cookie database, 我個人覺得這個解法太難, 因為每台電腦的 chrome 安裝的路徑都不同, 現在的 chrome 似乎都不會安裝在 Program Files 目錄之下, 所以網友給的 chrome 指令直接執行是會顯示路徑不存在:
"C:\Program Files\Chrome\chrome.exe" --disable-features=LockProfileCookieDatabase
在 yt-dlp 改用 –cookies 參數來解決問題
你要先在 chrome 瀏覽器安裝擴充工具(extension): Get cookies.txt LOCALLY
傳送門: https://chromewebstore.google.com/detail/get-cookiestxt-locally/cclelndahbckbenkjhflpdbgdldlbecc
點下上面網址後, 按右上角的 “Add to chrome”

接著到 youtube 網站, 並登入你的Google 帳號.
在 chrome 瀏覽器網址列右側點開擴充工具的小圖, 並點擊 get cookies.txt locally 的小圖:

點擊 Export As

預設會取得 youtube 網站的 cookies 並儲存到「下載」的資料夾下,

附註: 如果選 “Export All Cookies”, 文字檔的名稱會變成 cookies.txt, 比較短一點, 反正電腦都只有自己在使用, 如果沒有安全性上的問題, 使用Export All 會簡單一點。
如果你跟我一樣, 是使用 “Export As”, 請把 www.youtube.com_cookies.txt 檔案移到一個你記得起來的與 youtube 外部指令相關的資料夾, 我放在 C:\max\bin\ 目錄下.
修改原本在 C:\max\bin\ 目錄下的 dl.bat 的內容為:
yt-dlp -x --no-check-certificate --cookies c:\max\bin\www.youtube.com_cookies.txt --audio-format mp3 --embed-thumbnail %1 %2
上面粗體字的部份, 是增加新的參數, 去使用 cookies, 最後的執行畫面如下:

說明: 使用 dl 指令, 再加一個空格之後接 youtube 的 v參數內容, 就可以取得 mp3 了.