domingo, 24 de marzo de 2013

Consulta del periódico completo San Luis Hoy

#!/bin/bash
###################################################################################
# This work is licensed under a Creative Commons Reconocimiento-NoComercial 3.0 Unported License.
# http://creativecommons.org/licenses/by-nc/3.0/deed.es_ES
# Creado por Paulo Lira Gutiérrez (enriquelira948@gmail.com)
# Se concede permiso para copiar, distribuir y/o modificar este programa siempre 
# y cuando se cite al autor y la fuente de http://ubuntu-scripts.blogspot.mx
# y según los términos de la GNU General Public License, Versión 3 o cualquiera
# posterior publicada por la Free Software Foundation.
YELLOW="\033[1;33m"
ENDCOLOR="\033[0m"
RED="\033[0;31m"
echo -e $YELLOW"Script para la descarga del pdf del periódico San Luis Hoy"$ENDCOLOR
function estado_red()
{
echo -e $YELLOW"Comprobando conexión a Internet..."$ENDCOLOR
ping www.google.com -c 3 >/dev/null 2>&1
if [ $? = 0 ]; then
echo -e $YELLOW"Si hay conexión a internet"$ENDCOLOR
else
echo -e $RED"No se ha podido establecer una conexión a internet"$ENDCOLOR
sleep 3
killall pdf.sh
fi
}
estado_red
cd $HOME/Descargas
mkdir SLH  > /dev/null 2>&1
cd SLH
rm SLH* wget-log > /dev/null 2>&1
function slh()
{
CONTADOR=0
MAX=9
while [ $CONTADOR -lt $MAX ]; do
let CONTADOR=CONTADOR+1 
echo -e $YELLOW"Descargando página $CONTADOR"$ENDCOLOR

wget --retry-connrefused http://www.sanluishoy.com.mx/Pdfs/`date +%Y``date +%m``date +%d`/SLH`date +%d`0$CONTADOR.pdf
done
CONTADOR=9
MAX=32
while [ $CONTADOR -lt $MAX ]; do
let CONTADOR=CONTADOR+1 
echo -e $YELLOW"Descargando página $CONTADOR"$ENDCOLOR
wget --retry-connrefused http://www.sanluishoy.com.mx/Pdfs/`date +%Y``date +%m``date +%d`/SLH`date +%d`$CONTADOR.pdf
done
TAMANO=$(du -sh --exclude=salida.pdf)
DISPLAY=:0.0 notify-send --icon=/home/paulo/.icons/slh.xpm "Se descargaron $TAMANO"
sleep 1

CANTIDAD=$(find -type f | wc -l)
ARCHIVOS=$(expr $CANTIDAD - 1)
echo -e $YELLOW"Son $ARCHIVOS archivos"$ENDCOLOR

if [ "$ARCHIVOS" = 32 ]; then
echo -e $YELLOW"Uniendo pdfs..."$ENDCOLOR
pdftk SLH*.pdf cat output salida.pdf
echo -e $YELLOW"Abriendo..."$ENDCOLOR
DISPLAY=:0.0 evince salida.pdf
else
zenity --error --text="Hubo un error en la descarga del periódico\n Son $ARCHIVOS archivos" --display=:0.0
sleep 1
fi
echo -e $YELLOW"Saliendo..."$ENDCOLOR
sleep 2
rm SLH*
}
FECHA_ARCHIVO=$(ls -l | awk '{ print $7 }' | tail -1)
FECHA_HOY=$(echo `date +%-d`)
if [ $FECHA_ARCHIVO = $FECHA_HOY ]; then
echo -e $YELLOW"Ya se ha descargado el periodico de este dia"$ENDCOLOR
sleep 3
else
zenity --question --text="¿Desea descargar el periódico San Luis Hoy?" --display=:0.0 
case $? in
0) 
  slh;;
1) cancelar;;
-1) error;;
esac
fi

Este script es capaz de descargar cada página del periódico San Luis Hoy www.sanluishoy.com.mx , comprueba que se hayan descargado correctamente, une cada página en un sólo archivo pdf (gracias a pdftk) y lo visualiza con ayuda de Evince (lector de pdf's)

Descarga: pdf.sh
Pueden descargar el script o copiar y pegar el codigo anterior en su editor favorito (puede ser gedit), guardarlo, y darle permisos de ejecución; seleccionan el archivo guardado, le dan clic derecho >Propiedades > pestaña Permisos y marcan la casilla de "Permitir ejecutar el archivo como un programa". Algunos scripts no contienen la extension .sh pero aún asi siguen funcionando.

Nota: En cualquier momento podría modificar el script para adaptarlo a mis necesidades. Favor de avisar en caso de que los enlaces no funcionen.

No hay comentarios:

Publicar un comentario

Entre todos ayudemos a mejorar linux