題:
如何使用youtube-dl --cookie
D.W.
2019-01-26 06:15:33 UTC
view on stackexchange narkive permalink

如何在 youtube-dl 中使用-cookies 選項下載YouTube視頻?誰能提供一個有效的示例,說明如何為Youtube獲取相關的Cookie,並將其以適當的格式放入 youtube-dl

上下文:我想下載一個私人的YouTube視頻。由於各種原因,登錄我的Google帳戶的方法很複雜,並且涉及兩因素身份驗證, youtube-dl 的現有命令行選項不支持該方法。因此,最好的方法似乎是在瀏覽器中手動登錄,以某種方式獲取身份驗證Cookie並使用-cookies 選項-但我找不到如何操作的有效示例。做這個。

您是否嘗試過在Google帳戶信息中心中生成應用密碼,並在向YouTube-dl提供憑據時使用了該密碼?
三 答案:
maP1E bluE
2019-01-26 23:31:39 UTC
view on stackexchange narkive permalink

一旦獲得Cookie,您只需要運行 youtube-dl --cookies / pathtocookiefile

如果您使用Chrome並接受第三方插件來讀取您的cookie。
只需嘗試 cookie.txt,打開youtube,然後單擊cookie.txt插件即可。
再單擊一次,您可以下載一個或全部選項卡的cookie文件。 enter image description here

如果要在Chrome中手動進行操作。F12>應用程序>存儲> Cookies。
您需要將cookie列表轉換為 Netscape格式的cookie文件

  #domain HTTP /安全過期名稱值
.youtube.com是/否1548523767 GPS 1
 
bgentry
2019-05-21 23:10:15 UTC
view on stackexchange narkive permalink

雖然這可能不適用於YouTube,但我想強調一種更簡單的方法,該方法非常適合 youtube-dl 從需要登錄的網站下載(並使用Cookie跟踪會話)

編輯:很遺憾, YouTube依賴跨多個域設置的Cookie,因此該方法可能不適用於該域。

youtube-dl具有名為-add-header 的選項:

 -add-header FIELD:VALUE指定自定義HTTP標頭及其值,以冒號':'分隔。您可以使用此選項
                                 多次
 

Cookie最終只是作為HTTP標頭提交給服務器,因此您要做的就是在請求上設置 Cookie 標頭。這種方法比從現代瀏覽器中提取一個餅乾罐要容易得多,特別是因為那些餅乾罐往往是經過加密的,而且人們經常轉向可疑的第三方工具來提取數據。

這是一個用法示例:

  youtube-dl --add-header“ Cookie:COOKIE_STRING_EXTRACTED_FROM_BROWSER”“ https://website-that-hosts.example/the-video-you-want”
 

要提取Cookie標頭的值,請執行以下操作:

  1. 打開您要從中下載的網站
  2. 登錄
  3. 打開瀏覽器的網絡檢查器
  4. 重新加載頁面
  5. 找到對該網站的第一個請求,然後單擊它,然後查看該請求的標題
  6. 複製 Cookie 標頭的整個字符串值(在此圖中突出顯示):

    Extracting the Cookie header from Google Chrome

  7. 將該值粘貼到上面的示例命令中,以替換 COOKIE_STRING_EXTRACTED_FROM_BROWSER (在引號內)

  8. ol>

    這非常適合從需要有線電視提供商登錄的站點下載完整劇集。

Dan Dascalescu
2020-03-28 18:09:40 UTC
view on stackexchange narkive permalink

這種方法不需要安裝任何瀏覽器擴展程序,因為這可能會帶來安全風險,因為@bgentry也指出了

它需要一個終端窗口 Node.js和我發布的這個開源腳本。

  1. 下載腳本(或根據需要克隆存儲庫
  2. 在編輯器中,打開一個新的空白文件
  3. 在Chrome / Chromium中,啟動開發人員工具(F12)
  4. 導航到您需要Cookie的網站,例如YouTube,然後登錄。
  5. 轉到應用程序->存儲-> Cookies
  6. 對於Cookie下的每個網址(例如 https://www.youtube.com ),將Cookie表複製到剪貼板中,然後將其粘貼到您打開的文件的末尾在步驟2中。Chrome cookies
  7. 使用 file-with-cookies-copy-pasted-from-Chrome.txt
  8. 這樣的名稱保存文件
  9. 運行腳本:

      node convert-cookies.js file-with-cookies-copy-pasted-from-Chrome.txt > netscape-cookies.txt
     
  10. ol>

    現在, netscape-cookies.txt 將包含準備好供任何讀取Netscape格式的cookie的應用程序使用的cookie(例如, yotube-dl curl )。

注意:輸入的txt文件必須使用UTF-8編碼,如果使用Unicode,則結果很奇怪


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 4.0許可。
Loading...