Zone Lin
文章33
標籤32
分類7
youtube-dl 登入並下載影片

youtube-dl 登入並下載影片

↩️回總教學文

帳號密碼登入

某些內容會指定必須要認證身分(登入)後,才能觀看
這種情況下, youtube-dl 有提供輸入簡單的帳號密碼的參數

  • -u, --username USERNAME 輸入帳號
  • -p, --password PASSWORD 輸入密碼

範例

youtube-dl --username "your_mail@gmail.com" --password "P@ssw0rd" "https://www.youtube.com/watch?v=dQw4w9WgXcQ"

目前只剩部分網站可以用這種方法登入。
Google 有更新過 youtube 帳號的取用安全性,只能用下面的 Cookie 方式登入。

Youtube-dl 可以使用 Netscape 格式的 cookie 檔案,讓伺服器端認定為已登入帳號的瀏覽器

我們可以用 EditThisCookie 幫我們匯出 Cookie

EditThisCookie Chrome擴充商店

安裝完後,進入 EditThisCookie 的設定

將輸出格式選擇 Netscape 格式

接著建立 cookie.txt 文字檔

建立完後我們到 https://youtube.com
用 EditThisCookie 插件的匯出功能複製所有 cookie

將複製到的文字貼到 cookie.txt

貼完後照前面的步驟,抓出 https://accounts.google.com 的 cookie

都完成後 cookie.txt 大概會長這個樣子

# Netscape HTTP Cookie File
# http://curl.haxx.se/rfc/cookie_spec.html
# This file was generated by Cookie Editor
.youtube.com TRUE / TRUE 1712544730 __Secure-1PAPISID XXXXX
.youtube.com TRUE / TRUE 1712544730 __Secure-1PSID XXXXX
.youtube.com TRUE / TRUE 1712544730 __Secure-3PAPISID XXXXX
.youtube.com TRUE / TRUE 1712544730 __Secure-3PSID XXXXX
.youtube.com TRUE / TRUE 1681127908 __Secure-3PSIDCC XXXXX
.youtube.com TRUE / FALSE 1687764170 _ga XXXXX
.youtube.com TRUE / FALSE 1654529554 _gcl_au XXXXX
.youtube.com TRUE / FALSE 1712544730 APISID XXXXX
.youtube.com TRUE / FALSE 1712544730 HSID XXXXX
.youtube.com TRUE / TRUE 1664713150 LOGIN_INFO XXXXX
.youtube.com TRUE / TRUE 1712663916 PREF XXXXX
.youtube.com TRUE / TRUE 1712544730 SAPISID XXXXX
.youtube.com TRUE / FALSE 1712544730 SID XXXXX.
.youtube.com TRUE / FALSE 1681127908 SIDCC XXXXX
.youtube.com TRUE / TRUE 1712544730 SSID XXXXX
.youtube.com TRUE / TRUE 1665142416 VISITOR_INFO1_LIVE XXXXX
.youtube.com TRUE / FALSE 0 wide 0
.youtube.com TRUE / TRUE 0 YSC XXXXX

# Netscape HTTP Cookie File
# http://curl.haxx.se/rfc/cookie_spec.html
# This file was generated by Cookie Editor
.google.com TRUE / TRUE 1712494597 __Secure-1PAPISID XXXXX
.google.com TRUE / TRUE 1712494597 __Secure-1PSID XXXXX
.google.com TRUE / TRUE 1712494597 __Secure-3PAPISID XXXXX
.google.com TRUE / TRUE 1712494597 __Secure-3PSID XXXXX
.google.com TRUE / TRUE 1681128005 __Secure-3PSIDCC XXXXX
.google.com TRUE / TRUE 1652183330 1P_JAR XXXXX
.google.com TRUE / TRUE 1663206405 AEC XXXXX
.google.com TRUE / FALSE 1712494597 APISID XXXXX
.google.com TRUE / FALSE 1712494597 HSID XXXXX
.google.com TRUE / TRUE 1665402835 NID XXXXX
.google.com TRUE / FALSE 1651150185 OGP XXXXX
.google.com TRUE / FALSE 1651150184 OGPC XXXXX
.google.com TRUE / TRUE 1712494597 SAPISID XXXXX
.google.com TRUE / FALSE 1712494597 SID XXXXX
.google.com TRUE / FALSE 1681128005 SIDCC XXXXX
.google.com TRUE / TRUE 1712494597 SSID XXXXX
myaccount.google.com FALSE / TRUE 1712544729 __Secure-OSID XXXXX
myaccount.google.com FALSE / TRUE 1712544729 OSID XXXXX
myaccount.google.com FALSE / TRUE 1652064730 OTZ XXXXX

重整格式

接著我們將剛剛的 cookie.txt 用 curl 重新整理格式

curl -b cookie.txt --cookie-jar ytcookie.txt 'https://youtube.com'

若是 Windows 的用戶,可以使用 Windows subsystem linux 2 (WSL2) 跑 Linux 的程式

執行完後 cookie.txt 就可以刪了,我們只要 ytcookie.txt 這個檔案

ytcookie.txt 要取甚麼名字都可以

--cookie 設定我們剛剛做好的 ytcookie.txt 就可以了

youtube-dl --cookie ./ytcookie.txt "https://www.youtube.com/watch?v=dQw4w9WgXcQ"

接下來只要你沒在瀏覽器內登出帳號,ytcookie.txt 理論上就能一直使用

當然,網站那邊可能也會紀錄是這個帳號在下載影片…

↩️回總教學文

本文作者:Zone Lin
本文連結:https://zonego.tw/2022/04/10/youtube-dl-login/
版權宣告:本文採用 創用CC BY 4.0 協議進行許可
貼文內使用的封面圖大部分來自unsplash,個別圖片的連結請看封面圖來源
×