Download automático do Estadão [pdf]
Script shell para download automático do jornal O Estado de S. Paulo (é necessário ser assinante para obter o cookie descrito abaixo).
Primeiro deve-se logar em jpdf.estado.com pegar a chave do cookie User (exemplo: 2oxNTY2FmM2FwcmFkb0DnbYgubm8cHJhZG9aZ30fDE1M14Lm5ldZ%3D%3D).
Nota: para obter o cookie no Firefox, entre em Ferramentas > Opções > Privacidade > Mostrar Cookies e filtrar por estado.com.br e copiar o conteúdo do cookie “User”.
Criar o seguinte shell script (pode ser rodado no Windows via Cygwin), trocando o valor da variável cookie e do proxy (caso não use proxy, remova o flag –proxy do wget):
export http_proxy="http://10.1.1.1:8000"
cookie='xcSFSfsfsdfSDF3253'
dd=`date +%d`
mm=`date +%m`
yyyy=`date +%Y`
index="http://jpdf.estado.com.br/menupdfi.php?E=SP&D=$dd/$mm/
$yyyy&A=/estadopdf/sp/paginas/$yyyy/$mm/$dd/A01.pdf"
rm index.txt
/cygdrive/c/temp/wget/wget -nc -k -S -U Mozilla --proxy
--header "Cookie: User=$cookie " -O index.txt $index
if [ ! -f index.txt ]; then exit 1; fi
l=`gawk 'BEGIN {FS="\""} /option VALUE="\/estadopdf/ { print $2 }' index.txt`
for x in $l; do
# Ignora os classificados
if [ ${x%01.pdf} -eq "Cl" ]; then continue; fi
# Ignora o Guia
if [ ${x%01.pdf} -eq "Q" ]; then continue; fi
y=http://jpdf.estado.com.br${x%01.pdf}
i=1
flag=0
while [ $i -lt 40 ]; do
filename=`printf "%s%02d.pdf\n" $y $i`
echo "=================================================================="
echo $filename
echo "=================================================================="
/cygdrive/c/temp/wget/wget -P estado -nc -k -S -U Mozilla --proxy
--header "Cookie: User=$cookie " $filename
if [ $? -eq 1 ]; then
let flag=flag+1
if [ $flag -gt 1 ]; then
flag=0
echo "Proximo caderno..."; break;
fi
fi
sleep 1
let i=i+1
done
done
Confira o código aqui.
Para juntar todos os pdfs em um único arquivo, usar o PDF Split and Merge (http://www.pdfsam.org/):
dd=`date +%d`
mm=`date +%m`
yyyy=`date +%Y`
echo "Concatenando os arquivos em ./Estado${yyyy}${mm}${dd}.pdf..."
ls -m estado/*.pdf | tr -d ' ' > lista.csv
java -jar ./pdfsam-basic/lib/pdfsam-console-0.7.3.jar -overwrite
-compressed -l lista.csv
-o ./Estado${yyyy}${mm}${dd}.pdf concat
Não ha comentários
Leave a reply