¿Cómo usar wget para descargar desde sitios de alojamiento?


11

wget es una herramienta muy útil para descargar cosas en Internet rápidamente, pero ¿puedo usarla para descargar desde sitios de alojamiento, como FreakShare, IFile.it Depositfiles, Uploaded, Rapidshare? Si es así, ¿cómo puedo hacer eso?


44
¿No tienden la mayoría de esos sitios a usar JavaScript y otras barreras para eliminar el enlace directo a los archivos?
Tim

@Tim Creo que tienes razón, porque es imposible obtener un enlace directo de esos sitios.
Zignd

@swift ¿Podría traducirlo al inglés y publicarlo en pastebin o en otro lugar
Zignd

Respuestas:


11

Este tipo de sitio intenta dificultar el uso de un navegador web gráfico, porque si usa wget, se perderán todos estos anuncios que pagan el ancho de banda.

Algunos sitios no realizan comprobaciones avanzadas y pueden ser engañados fácilmente: dígale a wget que pretenda que realmente es Mozilla y que proviene del sitio de descarga .

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 mayoría de los sitios que verifican le permiten salirse con la suya --user-agent=Mozillay --refererestablecer la URL del archivo que está descargando.

Con algunos sitios, es posible que deba exportar las cookies del navegador web y pasarlas --load-cookiesa wget; en este punto, usar wget comienza a ser más trabajo que una descarga manual. El método definitivo, que puede funcionar todo el tiempo pero requiere algo de codificación para cada sitio, es utilizar un marco de automatización del navegador como Selenium o Watir .

Consulte también ¿ Automatizar solicitudes web mediante curl?


¡Increíble! Su respuesta me ayudó a escribir esto para ZippyshareEnlaces: stackoverflow.com/a/21100640/1533054
Sheharyar

7

Para Zippyshare:

Este método se basa en la respuesta de Gilles . Como dijo, el truco es hacer que el servidor piense que la solicitud se está realizando desde un navegador y para que eso suceda, necesita un par de cosas:

  • El enlace de descarga (el enlace real al archivo)
  • Enlace de referencia (la página web con el botón de descarga)
  • ID de sesión de Zippyshare (se encuentra en las cookies)

Aquí hay una captura de pantalla que explica dónde puede obtener cada elemento:

Descargar desde Zippyshare

Ahora abra su terminal y use el siguiente comando (reemplazando los elementos necesarios):

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'

Ejemplo:

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: En el comando, de hecho refererno esreferrer


1
Solo me gustaría agregar que Sheharyar usa Firebug en esta captura de pantalla. Esto es para todos (incluido yo) que intentamos hacer esto en Inspector (que desafortunadamente no es posible).
syntaxerror

1

También me gustaría obtener respuestas perfectas, utilicé el siguiente truco para descargar una película infantil para mi hijo de Turbobit:

En lugar de SESSION_ID de la respuesta anterior, debe buscar "compid" en la pestaña de cookies de FIREBUG:

ingrese la descripción de la imagen aquí

Después de eso, el comando para mi sistema embebido Debian fue muy 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 &

Puedo apagar mi computadora ahora :)

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.