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

2 Risposte to “Il Giornale di oggi”

  1. gino bramieri Dice:

    bravo!

    (senza ironia)

  2. Johnny Dice:

    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ò)

Lascia un commento