Ogni giorno, dopo le 14:00, Il Giornale pubblica l’intero quotidiano in formato PDF. Ma per leggerlo bisogna scaricare una ad una le singole pagine.
Se non volete perdere tempo, usate questo breve script (scritto in linguaggio perl) che è in grado di scaricare automaticamente tutte le pagine e di fonderle insieme in un unico documento PDF.
#!/usr/bin/perl
system("wget http://www.ilgiornale.it/lp_n.pic1 -O index.html");
open(INDEX, "index.html");
while ($line = <INDEX>)
{
$i = index($line, "lp_n.pic1?PAGE");
if ($i != -1)
{
$pdf = substr($line, $i + 15, 5);
system("wget http://www.ilgiornale.it/
pag_pdf.php?ID=".$pdf." -O ".$pdf.".pdf");
}
}
close(INDEX);
system("pdftk *.pdf cat output ilgiornale.pdf");
Ah, dimenticavo di dirvi due cose:
- ha come requisiti wget e pdftk, che dovete installare
- è scritto su Linux e per Linux (ho scritto una versione anche per Windows… non volevo darvela, ma se proprio la volete è qui sotto)
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "wget http://www.ilgiornale.it/
lp_n.pic1 -O index.html", 0, true
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
Set fin = fso.OpenTextFile("index.html", 1)
Dim text, pdf
While Not fin.AtEndOfStream
text = fin.ReadLine
offset = InStr(text, "lp_n.pic1?PAGE")
If offset 0 Then
pdf = Mid(text, offset + 15, 5)
WshShell.Run "wget http://www.ilgiornale.it/
pag_pdf.php?ID=" & pdf & " -O " & pdf & ".pdf", 0, true
End If
Wend
fin.Close
WshShell.Run "pdftk *.pdf cat output ilgiornale.pdf", 0, true
Luglio 12, 2007 at 4:10 pm
bravo!
(senza ironia)
Luglio 13, 2007 at 12:07 am
La versione per Linux non funziona….
sh: pag_pdf.php?ID=55951: not found
Error: Failed to open PDF file:
*.pdf
Errors encountered. No output created.
Done. Input errors, so no output created.
Lo sai che uno script simile l’avevo scritto anche io in Python qualche mese fa?!
RISPONDE TROTTERELLO:
Succede quando uno o più dei PDF che compongono il quotidiano non vengono correttamente scaricati e perciò hanno dimensione zero.
Lo script, per esigenze di brevità, non fa nessuna verifica. Basta cancellare i PDF con dimensione zero e ripetere l’ultimo comando.
(Chi volesse modificare in meglio lo script può mandarmelo e lo pubblicherò)