Busqueda sobre Linux y software libre

Noticias sobre linux y software libre - Google 

Cómo descargar uno o varios archivos de css con GNU/Linux

css - Cascading Style Sheets.

1. Normalmente un desarrollador/diseñador web, quiere copiar alguna parte del diseño de una pagina web, lo primero que realiza es guardar la pagina en su maquina utilizando su navegador favorito (en mi caso utilizo firefox). Cuando se intenta visualizar la pagina esta no se desplega igual como en su sitio web, faltan imagenes y por lo tanto se han perdido algunos efectos. Entonces necesitamos descargar esas imagenes que falta.

2. Una pagina puede tener uno o muchos archivos css, y en estos css estan definidas referencias a imagenes que utilizan para el diseño de la pagina web, por ejemplo:

headerInfo {
background: url(/images/bg_gradient.gif);
background-repeat: repeat-x;
}

Las imagenes pueden ser gif, jpg o en muy pocos casos png.

3. Todos los archivos bajados para determinada pagina son colocados en una subcarpeta (por lo menos eso hacen Firefox e Internet Explorer), si estas con linux estas salvado en muy pocos pasos resolveremos el problema de bajar todos esos archivos.

3.1. En una consola nos ubicamos en el directorio que contiene los archivos:

cd /home/bortolini/temp/pageforcopy_files

Con este comando visualizamos todos las lineas que hacen referencia hacia archivos imagenes.

cat *.css | egrep -e 'jpg|gif|pgn' | egrep 'url'

3.2. Este comando devolvera la ruta completa hacia el archivo para descargar:

cat *.css | egrep -e 'jpg|gif|pgn' | egrep 'url' | sed s/'^.*.url('// | sed s/').*'//

3.3. Ahora solo nos falta descargar todos los archivos imagenes que son referenciados por los archivos css:

for i in $(cat *.css | egrep -e 'jpg|gif|pgn' | egrep 'url'|sed s/'^.*.url('// | sed s/').*'//) ; do wgethttp://www.elDominioDeLaPagina.com/$i ; done

Listo, se descargaron todas las imagenes.

OJO:
(1) Ya me hicieron notar que se pueden mejorar las expresiones regulares, pero esto ya lo tenia escrito. Alguna sugerencia? ;)
(2) Las imagenes tienen que estar en el mismo directorio y en el mismo domino.

--

Ads by CJ - Linux Foundation

Share This