如何使用 wget 從託管網站下載?

如何使用 wget 從託管網站下載?

wget 是一個非常有用的工具,可以在互聯網上快速下載內容,但是我可以使用它從託管網站(例如 FreakShare、IFile.it Depositfiles、Uploaded、Rapidshare)下載嗎?如果是這樣,我該怎麼做?

答案1

這類網站試圖讓您很難不使用圖形網頁瀏覽器,因為如果您使用 wget,您將錯過所有這些為頻寬付費的廣告。

有些網站不進行高級檢查,很容易被欺騙:告訴 wget 假裝這真的是 Mozilla那是來自下載網站

wget --user-agent='Mozilla/5.0 (Windows NT 6.0) Gecko/20100101 Firefox/14.0.1' \
     --referer=http://downloadsite.example.com/download-page-url
     http://downloadsite.example.com/download-page-url/filename.ext`

大多數進行檢查的網站都會允許您將其--user-agent=Mozilla設定--referer為您正在下載的檔案的 URL。

對於某些網站,您可能需要匯出網頁瀏覽器 cookie 並傳遞--load-cookies給 wget;此時,使用 wget 開始比手動下載更麻煩。最終的方法是使用瀏覽器自動化框架,該方法始終有效,但需要為每個網站進行一些編碼碳粉匣或者瓦提爾

也可以看看使用curl 自動化網路請求?

答案2

對於 Zippyshare:

該方法建立在吉爾斯的回答。就像他說的,訣竅是讓伺服器認為請求是從瀏覽器發出的,而要實現這一點,您需要做一些事情:

  • 下載連結(檔案的實際連結)
  • 連結推薦人(附下載按鈕的網頁)
  • Zippyshare 會話 ID(在 Cookie 中找到)

這是一個螢幕截圖,解釋了您可以在哪裡獲得每個項目:

從 Zippyshare 下載

現在打開終端,並使用以下命令(取代必要的項目):

wget <download_link> \
--referer='<referrer>' \
--cookies=off --header "Cookie: JSESSIONID=<session_id>" \
--user-agent='Mozilla/5.0 (Windows NT 6.0) Gecko/20100101 Firefox/14.0.1'

例子:

wget http://www16.zippyshare.com/d/29887835/8895183/hello.txt \
--referer='http://www16.zippyshare.com/v/29887835/file.html' \
--cookies=off --header "Cookie: JSESSIONID=26458C0893BF69F88EB5743D74FE0F8C" \
--user-agent='Mozilla/5.0 (Windows NT 6.0) Gecko/20100101 Firefox/14.0.1'

筆記:在命令中,其實referer不是referrer

答案3

我也想得到以上完美的答案,我使用以下技巧從 Turbobit 為我的兒子下載兒童電影:

您需要從 FIREBUG 的 cookie 標籤中找到“compid”,而不是上面答案中的 SESSION_ID:

在此輸入影像描述

之後,我的 Debian 嵌入式系統的指令變得非常簡單:

wget --referer='http://http://turbobit.net/download/free/yilmacr4e351' --cookies=off --header "Cookie: compid=c9255510c34624435292d8a0e7e405be66aa01f9%7ED01343F87AB53A2C38D957A564DA1D55" --user-agent='Mozilla/5.0 (Windows NT 6.0) Gecko/20100101 Firefox/14.0.1' http://turbobit.net/download/redirect/B3EDACDA9B899937A149D5AAB6662327/yilmacr4e351/Ters.Yuz.2015.1080P.WEBDL.TR.EN.mkv &

我現在可以關閉電腦了:)

相關內容