Perl 用于下载公共数据的脚本
我正在使用下面的perl脚本下载“Diário of icial da União”(一份巴西公共文件,每天收集和发布联邦政府的正式法案)。它工作正常,但我正在尝试添加以下功能:Perl 用于下载公共数据的脚本,perl,Perl,我正在使用下面的perl脚本下载“Diário of icial da União”(一份巴西公共文件,每天收集和发布联邦政府的正式法案)。它工作正常,但我正在尝试添加以下功能: 下载一段时间,例如,从2010年1月1日到2010年12月31日 将文件定向到特定文件夹 我无法按时段下载(例如2016年1月1日至2016年12月31日)。我只能在今天或某一天下载这些文件。有什么建议吗 $|=1; use DateTime; # my $dt=DateTime->now; my $dt=Da
$|=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" }
}
你的问题是什么?我猜你需要帮助做(1)和(2)。如果是这样,请告诉我们您尝试了什么,遇到了什么困难。@Dada我无法按时段下载(例如2016年1月1日至2016年12月31日)。我只能在今天或某一天下载这些文件。有什么建议吗?嗯,你可以创建一系列的天数,你想下载。。告诉你如何创建一系列的天数。你的问题是什么?我猜你需要帮助做(1)和(2)。如果是这样,请告诉我们您尝试了什么,遇到了什么困难。@Dada我无法按时段下载(例如2016年1月1日至2016年12月31日)。我只能在今天或某一天下载这些文件。有什么建议吗?嗯,你可以创建一系列的天数,你想下载。。告诉您如何创建天数范围。