Come usare wget per scaricare da siti di hosting?


11

wget è uno strumento molto utile per scaricare rapidamente contenuti su Internet, ma posso usarlo per scaricare da siti di hosting, come FreakShare, IFile.it Depositfiles, Uploaded, Rapidshare? In tal caso, come posso farlo?


4
La maggior parte di questi siti non usa javascript e altre barriere per eliminare il collegamento diretto ai file?
Tim

@Tim Penso che tu abbia ragione, perché è impossibile ottenere un link diretto da quei siti.
Zignd,

@swift Potresti tradurlo in inglese e pubblicare su pastebin o da qualche altra parte
Zignd

Risposte:


11

Questo tipo di sito cerca di rendere difficile non usare un browser grafico, perché se usi wget ti mancheranno tutti questi annunci che pagano per la larghezza di banda.

Alcuni siti non effettuano controlli avanzati e possono essere facilmente ingannati: dì a wget di fingere che sia davvero Mozilla e che provenga dal sito di download .

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`

La maggior parte dei siti che controlla ti consente di cavartela --user-agent=Mozillae --refererimpostare l'URL del file che stai scaricando.

Con alcuni siti, potrebbe essere necessario esportare i cookie del browser Web e passare --load-cookiesa wget; a questo punto l'utilizzo di wget inizia ad essere più lavoro di un download manuale. Il metodo migliore, che può funzionare in qualsiasi momento ma richiede una certa codifica per ciascun sito, è utilizzare un framework di automazione del browser come Selenium o Watir .

Vedi anche Automatizzare le richieste Web usando l'arricciatura?


Eccezionale! La tua risposta mi ha aiutato a scrivere questo per ZippyshareLinks: stackoverflow.com/a/21100640/1533054
Sheharyar

7

Per Zippyshare:

Questo metodo si basa sulla risposta di Gilles . Come ha detto, il trucco è far pensare al server che la richiesta sia stata fatta da un browser e, per far sì che ciò accada, hai bisogno di un paio di cose:

  • Il link per il download (il link effettivo al file)
  • Link Referrer (La pagina web con il pulsante di download)
  • ID sessione Zippyshare (trovato nei cookie)

Ecco uno screenshot che spiega dove è possibile ottenere ogni elemento:

Scarica da Zippyshare

Ora apri il tuo terminale e usa il seguente comando (sostituendo gli elementi necessari):

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'

Esempio:

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'

Nota: nel comando, in realtà referernon lo èreferrer


1
Vorrei solo aggiungere che Sheharyar usa Firebug in questo screenshot. Questo è per tutti (incluso me) che hanno provato a farlo in Inspector (che purtroppo non è possibile).
syntaxerror,

1

Vorrei anche sopra risposte perfette, ho usato il seguente trucco per scaricare un film per bambini da mio figlio da Turbobit:

Invece di SESSION_ID dalla risposta sopra, devi trovare "compid" dalla scheda dei cookie di FIREBUG:

inserisci qui la descrizione dell'immagine

Dopodiché, il comando per il mio sistema embedded debian è stato così semplice:

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 &

Posso spegnere il mio computer ora :)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.