Escanear todas las URLs de un sitio WEB con wget

Recientemente, he tenido la necesidad de crear un script para escanear todas las URLs que tiene una página WEB, tal y como hacen los robots que hay Internet.

El script es muy sencillo, pero ya me sirve para lo que pretendía. El código fuente es el siguiente:

[root]# cat spider.sh
#!/usr/bin/sh

SPIDER=/tmp/spider.txt

wget --spider --force-html -r https://puerto53.com -o $SPIDER
grep "\-\-" /tmp/spider.txt |awk '{print $3}' |grep "^https://puerto53" |sed 's/?share=facebook//g' |sed 's/?share=twitter//g' |sed 's/?share=linkedin//g' |sed 's/?share=google-plus-1//g' |sed 's/\/feed\///g' |grep "/$" |grep -v "/page/" |grep -v "/random/" |sort |uniq > /tmp/URLs.txt
[root]#

Una vez ejecutado el script, tenemos las URLs escaneadas en el fichero /tmp/URLs.txt:

[root]# head /tmp/URLs.txt
puerto53.com
puerto53.com/amazon-aws/actualizar-una-maquina-virtual-linux-centos-de-amazon-aws/
puerto53.com/amazon-aws/administracion-y-creacion-de-un-vpc-de-amazon-aws/
puerto53.com/amazon-aws/amazon-efs-elastic-filesystem/
puerto53.com/amazon-aws/amazon-s3-simple-storage/
puerto53.com/amazon-aws/asignacion-de-roles-a-instancias-ec2-de-amazon-aws/
puerto53.com/amazon-aws/aumentar-la-velocidad-de-inputoutput-con-un-raid-amazon-aws/
puerto53.com/amazon-aws/aws-cli-crear-un-snapshot-de-un-volumen-por-linea-de-comandos/
puerto53.com/amazon-aws/aws-cli-linea-de-comandos-de-amazon-aws/
puerto53.com/amazon-aws/cloudfront-redes-de-distribucion-de-contenido-cdn-amazon-aws/
[root]#

Descarga ficheros de Google Drive con wget

Descargar todos los ficheros de una URL con wget

Imaginemos que nos queremos decargar todos los ficheros RPM de una URL con wget. Lo haríamos de la siguiente manera:

[[email protected] vmware-tools-10.3.23]$ wget https://packages.vmware.com/tools/releases/10.3.23/rhel6/x86_64/

...

[[email protected] x86_64]$ pwd
/home/david/Downloads/vmware-tools-10.3.23/packages.vmware.com/tools/releases/10.3.23/rhel6/x86_64
[[email protected] x86_64]$ ll
total 20000
-rw-rw-r-- 1 david david  156040 Sep 24 11:18 kmod-vmware-tools-vmci-9.8.2.0-2.6.32.71.el6.x86_64.11.el6.x86_64.rpm
-rw-rw-r-- 1 david david  157837 Sep 24 11:18 kmod-vmware-tools-vmci-retpoline-9.8.2.0-2.6.32.754.9.1.el6.x86_64.11.el6.x86_64.rpm
-rw-rw-r-- 1 david david  104692 Sep 24 11:18 kmod-vmware-tools-vmhgfs-2.0.21.0-2.6.32.71.el6.x86_64.11.el6.x86_64.rpm
-rw-rw-r-- 1 david david  104193 Sep 24 11:18 kmod-vmware-tools-vmhgfs-retpoline-2.0.21.0-2.6.32.754.9.1.el6.x86_64.11.el6.x86_64.rpm
-rw-rw-r-- 1 david david   45496 Sep 24 11:18 kmod-vmware-tools-vmxnet-2.1.0.0-2.6.32.71.el6.x86_64.11.el6.x86_64.rpm
-rw-rw-r-- 1 david david   48897 Sep 24 11:18 kmod-vmware-tools-vmxnet-retpoline-2.1.0.0-2.6.32.754.9.1.el6.x86_64.11.el6.x86_64.rpm
-rw-rw-r-- 1 david david   98712 Sep 24 11:18 kmod-vmware-tools-vsock-9.8.1.0-2.6.32.71.el6.x86_64.11.el6.x86_64.rpm
-rw-rw-r-- 1 david david   87941 Sep 24 11:18 kmod-vmware-tools-vsock-retpoline-9.8.1.0-2.6.32.754.9.1.el6.x86_64.11.el6.x86_64.rpm
drwxrwxr-x 2 david david       6 Oct  5 08:07 repodata
-rw-rw-r-- 1 david david 4262541 Sep 24 11:18 vmware-tools-core-10.3.23-1.el6.x86_64.rpm
-rw-rw-r-- 1 david david    3202 Sep 24 11:18 vmware-tools-esx-10.3.23-1.el6.x86_64.rpm
-rw-rw-r-- 1 david david    2930 Sep 24 11:18 vmware-tools-esx-kmods-10.3.23-1.el6.x86_64.rpm

También podemos elegir qué tipo de ficheros queremos descargar. Por ejemplo:

wget -A rpm,html -m -p -E -k -K -np https://packages.vmware.com/tools/releases/10.3.24/rhel6/x86_64/

Compárteme

Contenido Relacionado

Deja un comentario