Dati Trenitalia
Qualche giorno fa, in Stazione Centrale a Milano, mi cade l'occhio su uno dei monitor di quelli che mostrano lo stato delle partenze e degli arrivi. Ho notato quel particolare monitor non perché dovessi partire o attendere qualcuno in arrivo (infatti ero appena arrivato in stazione e mi stavo dirigendo alla Metro) quanto perché era visibile (mancava la cornice oscurata) l'intera finestra del PC che gestisce il sistema di visualizzazione…
Ergo ho potuto vedere che sotto c'è un sistema Windows (e si sapeva), che usano Internet Explorer (peggio per loro) e che l'URL per visualizzare i dati è: https://picweb.rfi.it/arrivipartenze/Visualizzazione_monitor_pubblicita_SI.asp (quindi il sistema è pure sviluppato in ASP, della serie “facciamoci del male”). Poi ho provato anche qualche altra combinazione e ad esempio questa funziona.
Ho lanciato l'informazione su qualche social network (FB, Twitter, G+) stimolando esperimenti (hacking) di estrazione dei dati, un paio di amici hanno risposto e qui riporto qualche risultato, ottenuto grazie a Gianluca Varisco e Pierlauro Sciarelli.
Il problema più grosso, guardando e studiando il sorgente HTML della pagina ASP, è che accetta parametri in POST e, pare, non in GET. Ergo (cfr. anche http://stackoverflow.com/questions/325929/is-the-only-way-of-passing-post-parameters-in-html-through-a-form ) bisogna crearsi una minipagina HTML per poter accedere alla pagina degli avvisi usando i parametri opportuni, ad es:
<html> <form action="https://picweb.rfi.it/arrivipartenze/Visualizzazione_monitor_pubblicita.asp" method="post"> <input type="hidden" name="idLocalita" id="idLocalita" value="1604"> <input type="hidden" name="tipo" id="tipo" value="Partenze"> <input type="hidden" name="nomeStazione" id="nomeStazione" value="Milano+Centrale"> <input type="submit" value="Submit"> </form> </html>
In realtà basta solo l'id della località su cui viene fatta la query, per cui la stazione di Milano Centrale più benissimo diventare la stazione di pippo e topolino, es. con un nomeStazione hardcoded:
...
<input type="hidden" name="nomeStazione" id="nomeStazione" value="Stazione di pippo e topolino">
...
Quindi il problema ulteriore è quello di ottenere la lista degli ID (località, stazione, etc.), Pierlauro mi scrive:
Mi sono messo a giochicchiare un po' sul sito RFI trovando il modo di scoprire idLocalita e nomeStazione che sono i due parametri da passare al form della pagina. Basta cercare la stazione desiderata qui (http://www.rfi.it/cms/v/index.jsp?vgnextoid=f3fe155031639210VgnVCM1000004016f90aRCRD) e poi estrarre i parametri dall'url passati tramite GET. Ad esempio la stazione di Milano Centrale ha id 1604 e nome “Milano+Centrale”
Gianluca invece ha trovato i due URL interessanti:
Provate a seguirli…
Datemi feedback se trovate altro, GRAZIE!