Código de Linux/Unix Shell Scripting - Script para descargar las imagenes de un página web

Imágen de perfil

Script para descargar las imagenes de un página webgráfica de visualizaciones


Linux/Unix Shell Scripting

estrellaestrellaestrellaestrellaestrella(1)
Publicado el 21 de Agosto del 2014 por Xavi
2.187 visualizaciones desde el 21 de Agosto del 2014. Una media de 21 por semana
Script de bash que dada una página web, devuelve todas las direcciones de todas las imágenes de dicha página.

Versión 1
estrellaestrellaestrellaestrellaestrella(1)

Publicado el 21 de Agosto del 2014gráfica de visualizaciones de la versión: Versión 1
2.188 visualizaciones desde el 21 de Agosto del 2014. Una media de 21 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#!/bin/bash
 
#
# Script de bash para descargar todos los enlaces de una pagina web
#
# bash script http://www.lawebdelprogramador.com
#
# Desarrollado por La Web del Programador
#
 
# si recibimos algun parametro
if [ $@ > 0 ]
then
	# descargamos la pagina
	#	wget -O - $1 -q
	# obtenemos todas las urls que tenga src=" o src='
	#	grep -i "src=['|\"]"
	# Eliminamos todo el contenido que haya antes de src=" o src='
	#	sed "s/^.*src=['|\"]//"
	# Buscamos la cadena " o ' y cogemos el primer valor (tiene que ser la url)
	#	awk -F"[\"|']" '{print $1}'
	# Eliminamos los duplicados
	#	sort -u
	list=`wget -O - $1 -q | grep -i "src=['|\"]" | sed "s/^.*src=['|\"]//" | awk -F"[\"|']" '{print $1}' | sort -u`
	
	# definimos una nueva variable que contendra las urls correctamente
	newlist=""
	
	# recorremos todas las urls obtenidas de la pagina web
	for url in $list
	do
		
		# si la url tiene 4 caracteres o mas y empieza por http entendemos que
		# la url es entera... (http://.....)
		if [ ${#url} -ge 4 -a ${url:0:4} = "http" ];then
			newlist="$newlist\n$url"
 
		# si la url tiene una longitud mayor a 0 y empieza por /
		# le añadimos el dominio delante... (/pagina)
		elif [ -n $url -a ${url:0:1} = "/" ];then
			newlist="$newlist\n$1$url"
 
		# Si no empieza por http ni por una barra, entendemos que es un nombre
		# de un arhivo... (pagina.html)
		else
			newlist="$newlist\n$1"/"$url"
		fi
	done
 
	# mostramos la nueva lista eliminando los duplicados y ordenados
	echo -e $newlist | sort -u | sort
else
	echo "Utiliza : $0 http://www.lawebdelprogramador.com"
fi



Comentarios sobre la versión: Versión 1 (1)

pelucas
18 de Octubre del 2015
estrellaestrellaestrellaestrellaestrella
Lo tengo gracias
Responder

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios

http://lwp-l.com/s2745