Truco tonto: engañar a wget

networking

Hola majetes! quizá alguna vez hayáis intentado descargar una página completa con wget -r y sin ningún motivo aparente se ha negado a llevar a cabo tal tarea... quizás podáis con este cutre truco

Quien necesita este truco

Veamos... suponed que queréis descargar todo un sitio completo con wget. El sitio detecta que intentáis conectar con un navegador extraño y os deniega las páginas. Cambiáis el user agent del wget con la opción adecuada... ¡y tampoco funciona!... pero esta vez habéis obtenido un fichero más: robot.txt. Este es un fichero que envían los servidores a los robots webs (spiders) con información sobre qué pueden y qué no pueden descargar (por ejemplo para evitar que un spider se quede mandando peticiones php sin fin).

Dado que este robots.txt se supone que es para hacerle caso, wget se compromete a usarlo y no ofrece ninguna opción para ignorarlo... (en la página man te vienen a decir que es compromiso de los desarrolladores) así que si la página que quieres descargar manda un robots.txt como el siguiente:

User-Agent: *
Disallow: /

Pues ya la hemos liado porque nuestro wget va a negarse a descargar nada...

El cutre truco

Vale... supongamos que queremos descargar completamente el dominio www.listillos.com y al intentarlo hemos obtenido un directorio \www.listillos.com dentro del cual tenemos el temido archivo robots.txt que comentábamos anteriormente. Pues bien, si al wget le damos la opción -c (continue), cuando intente descargar robots.txt no lo hará porque ya se descargó uno (y será el que use), así pues sólo tendremos que modificar el archivo por algo parecido a:

User-Agent: *
Allow: *
Disallow: /nada_de_nada_hombre_que_las_cosas_son_pa_compartirlas

Es importante la última línea, porque si sólo cambiamos el Disallow por el Allow nuestro robots.txt ocupará menos que el que hay en el servidor y entonces wget lo volverá a descargar. Con la última línea inútil final nos aseguramos que wget no se descargue el fichero real... entonces... ¿cuál usa? pues el nuestro Sticking out tongue.

Como veis el truco es tan tonto que casi me da vergüenza ponerlo, pero quizá ayude a alguien... Smiling. De todas formas los autores de wget podrían corregir esto de una forma bastante sencilla: descargando robots.txt y procesándolo directamente en memoria, sin necesidad de grabarlo en disco...

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Excelnte el articulo

Muy bueno, relamente te pasaste. hice lo que dices, cambie los disallow por allow, y "list taylor" todo baja..
Gracias

Muy Bueno.

Muchas gracias , creeme me has ayudado con este simple truco, nunca viene de mas... mas tarde tambien encontre otra solucion que podria ser :

wget -erobots=off --wait 1 http://your.site.here

-erobots=off hace q no preste atencion a estos archivos.

Saludos.

Imagen de int-0

Eso creo que ya no vale...

...creo que a partir de cierta versión del WGET quitaron la onda esa, creo que ya no es válida...

------------------------------------------------------------
$ python -c "print 'VG9udG8gZWwgcXVlIGxvIGxlYSA6KQ==\n'.decode('base64')"
------------------------------------------------------------