Si necesitamos descargar y parsear una web para extraer una cadena de caracteres, lo podemos realizar sin problemas con un script bash y wget. Pero resulta que hay veces que la web a la que queremos acceder está protegida por usuario/contraseña y como wget trabaja desde línea de comandos, no podemos acceder a las cookies almacenadas en el navegador para acceder a la URL protegida y descargarla. La solución pasa por exportar las cookies a un fichero de texto, e incluirlo en los parámetros de wget para que se autentifique en la web, y más tarde guarde la web.
acceder a la web para autentificarnos
Si queremos guardar las cookies para después poder descargar la URL protegida desde el comando wget, lo primero que debemos hacer es acceder a la web que más tarde vamos a descargar con nuestro usuario/contraseña y guardar las mismas y si existe la opción de «Recordarme en este equipo«, marcarlo.
instalar Export Cookies
El primer paso es instalar este plugin de Firefox que permite con dos clicks, exportar las cookies a un fichero de texto. Existen más complementos para más navegadores y otros métodos de extracción, pero este es el más rápido y sencillo.
Descargar Export Cookies
Una vez instalado el complemento, vamos al menú «Herramientas -> Export Cookies…» y guardamos el fichero cookies.txt en nuestro equipo.
descarga de la web
Una vez guardado el fichero cookies.txt, procedemos a descargar la web indicándolo como primer parámetro este fichero y como segundo la URL a descargar. Por último redireccionamos la salida a un fichero HTML.
Descarga mediante curl:
#!/bin/bash #obtener la url con las cookies. curl --cookie cookies.txt http://www.webprotegidaporcookies.com > webprotegida.html
Descarga mediante wget:
#!/bin/bash #obtener la url con las cookies. wget --load-cookies=cookies.txt http://www.webprotegidaporcookies.com > webprotegida.html
Últimos comentarios