Como usar o wget para fazer o download de sites de hospedagem?

10

O wget é uma ferramenta muito útil para fazer download de material na Internet rapidamente, mas posso usá-lo para fazer download de sites de hospedagem, como FreakShare, IFile.it Depositfiles, Uploaded, Rapidshare? Se sim, como posso fazer isso?

    
por Zignd 13.07.2012 / 18:54

3 respostas

11

Esse tipo de site tenta dificultar o não uso de um navegador gráfico, porque se você usar o wget, perderá todos esses anúncios que pagam pela largura de banda.

Alguns sites não fazem verificações avançadas e pode ser enganado facilmente: dizer wget fingir que é realmente Mozilla e que é < href="http://en.wikipedia.org/wiki/HTTP_Referer"> vindo do site de 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'

A maioria dos sites que verificam permitem que você use --user-agent=Mozilla e --referer definido como o URL do arquivo que está sendo transferido.

Com alguns sites, talvez seja necessário exportar os cookies do navegador da Web e passar --load-cookies para wget; Neste ponto, usar wget começa a ser mais trabalho do que um download manual. O método final, que pode trabalhar o tempo todo, mas requer alguma codificação para cada site, é usar uma estrutura de automação navegador como o selênio ou Watir .

Veja também Automatizando solicitações da web usando o curl?

    
por 20.07.2012 / 01:06
6

Para o Zippyshare:

Esse método se baseia na resposta de Gilles . Como ele disse, o truque é fazer com que o servidor pense que o pedido está sendo feito de um navegador e, para que isso aconteça, você precisa de algumas coisas:

  • O link de download (o link real para o arquivo)
  • Referenciador de links (a página da Web com o botão de download)
  • ID da sessão do Zippyshare (encontrada em cookies)

Aqui está uma captura de tela explicando onde você pode obter cada item:

Agoraabraseuterminaleuseoseguintecomando(substituindoitensnecessários):

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'

Exemplo:

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: No comando, é de fato referer não referrer

    
por 08.12.2014 / 00:43
1

Eu também gostaria de respostas acima perfeitas, eu usei seguindo truque para baixar um filme filho para o meu filho de Turbobit:

Em vez de SESSION_ID da resposta acima, você precisa encontrar "compid" na guia cookie do FIREBUG:

Depoisdisso,ocomandoparaomeusistemadebianembeddedfoimuitofácil:

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 &

Eu posso desligar meu computador agora:)

    
por 19.10.2015 / 20:24