Я использую приведенный ниже скрипт на Perl для загрузки «Diário Oficial da União» (бразильский публичный документ, который ежедневно собирает и публикует официальные акты федерального правительства). Работает нормально, но я пытаюсь добавить следующие функции:
- загрузка периода времени, например, с 01.01.2010 по 31.12.2010
- направить файлы в определенную папку
Не могу загрузить за период (например, с 01.01.2016 по 31.12.2016). Я могу загрузить файлы только сегодня или в определенный день. Любое предложение?
$|=1;
use DateTime;
# my $dt=DateTime->now;
my $dt=DateTime->new(
year => 1995,
month => 01,
day => 02,
);
$ymd=$dt->ymd;
$dmy=$dt->dmy("/");
print "Data: $dmy\n";
use LWP::Simple;
use LWP::Simple::Cookies ( autosave => 1,
file => "lwp_cookies.dat" );
my $jornal;
my @jornais=('1','2','3','515','529','530','531','521','525', '2000');
foreach $jornal (@jornais) {
print "Jornal: $jornal\n";
$doc = get("http://pesquisa.in.gov.br/imprensa/jsp/visualiza/index.jsp?jornal=$jornal&pagina=1&data=$dmy");
if ( $doc=~/&totalArquivos=(\d*)"/ ){
$paginas=$1;
print "Paginas: $paginas\n";
foreach $i ( 1..$paginas) {
my $arq="IN-Jornal $jornal - $ymd - pag_$i.pdf";
print "$arq (existe)\n" if -e $arq;
getstore("http://pesquisa.in.gov.br/imprensa/servlet/INPDFViewer?jornal=$jornal&pagina=$i&data=$dmy&captchafield=firstAccess",$arq ) && print "$arq (ok)\n" if !-e $arq;
if ( $i == 1) {
use CAM::PDF;
$bigpdf = CAM::PDF->new("$arq");
} else {
my $anotherpdf = CAM::PDF->new("$arq");
$bigpdf->appendPDF($anotherpdf);
}
sleep 1;
}
$bigpdf->cleanoutput("IN-Jornal $jornal - $ymd.pdf");
} else { print "IN-Jornal $jornal não disponível!\n" }
}