Como usar o wget para baixar de sites de hospedagem?

11

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

Zignd
fonte
4
A maioria desses sites não usa javascript e outras barreiras para eliminar a vinculação direta aos arquivos?
Tim
@ Tim Acho que você está correto, porque é impossível obter um link direto desses sites.
Zignd
@swift Poderia traduzir para o Inglês e postar em pastebin ou em outro lugar
Zignd

Respostas:

11

Esse tipo de site tenta dificultar a não utilização de um navegador gráfico, porque se você usar o wget, todos os anúncios que pagarão pela largura de banda estarão ausentes.

Alguns sites não fazem verificações avançadas e podem ser enganados facilmente: diga ao wget para fingir que é realmente o Mozilla e que é proveniente 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 verificados permite que você se apresse --user-agent=Mozillae --refererdefina o URL do arquivo que está baixando.

Em alguns sites, pode ser necessário exportar os cookies do navegador da Web e passar --load-cookiespara o wget; neste momento, o uso do wget começa a ser mais trabalhoso do que um download manual. O método final, que pode funcionar o tempo todo, mas requer alguma codificação para cada site, é usar uma estrutura de automação de navegador como Selenium ou Watir .

Consulte também Automatizando solicitações da Web usando curl?

Gilles 'SO- parar de ser mau'
fonte
Impressionante! Sua resposta me ajudou a escrever esta para ZippyshareLinks: stackoverflow.com/a/21100640/1533054
Sheharyar
7

Para o Zippyshare:

Este método baseia-se na resposta de Gilles . Como ele disse, o truque é fazer o servidor pensar que a solicitação está sendo feita a partir 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 Link (A página da Web com o botão de download)
  • ID da sessão do Zippyshare (encontrado em cookies)

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

Download do Zippyshare

Agora abra seu terminal e use o seguinte comando (substituindo os itens necessá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, na verdade referernão éreferrer

Sheharyar
fonte
1
Gostaria apenas de acrescentar que Sheharyar usa o Firebug nesta captura de tela. Isso é para todos (inclusive eu) que tentaram fazer isso no Inspetor (o que infelizmente não é possível).
Syntaxerror
1

Eu também gostaria de obter respostas perfeitas, usei o seguinte truque para baixar um filme infantil para o meu filho do Turbobit:

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

insira a descrição da imagem aqui

Depois disso, o comando para o meu sistema embarcado debian foi muito fá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 &

Agora posso desligar meu computador :)

Sertac TULLUK
fonte