On Tue, Feb 01, 2011 at 08:54:13PM +0100, Daniele Nicolodi wrote: > On 01/02/11 19:22, Gino Perna wrote: > > On Tue, Feb 01, 2011 at 06:11:16PM +0100, Daniele Nicolodi wrote: > >> On 01/02/11 18:06, Luca Manganelli wrote: > >>> 2011/2/1 Daniele Nicolodi <daniele@xxxxxxxxxx>: > >>>> Qualcuno sa di un'altra fonte degli stessi dati? > > > navigando sul sito, si vede che comunque i dati provengono da > > richieste in get ad uno script perl. Basta scriversi uno spider che > > faccia la richiesta in get e te la parsi come credi. > > Purtroppo i dai che mi interessano non vengono giù con una semplice GET. > Sono quelli che ottieni selezionando una stazione meteo, mettiamo per > esempio "T0129 - Trento (Laste)", "Output personalizzati". La richiesta in get e' del tipo http://hydstraweb.provincia.tn.it/cgi-bin/webhyd/webhyd.pl?co=T0135&v=10.00_10.00,400.00_400.00,430.00_430.00,515.00_515.00,550.00_550.00&vn=Pioggia%20%28millimetri%29%20,Temperatura%20aria%20%28gradi%20Celsius%29%20,Umidita%27%20aria%20%28percentuale%29%20,Velocita%27%20vento%20media%20%28metri/secondo%29%20,Pressione%20atmosferica%20%28Ettopascal%29%20&p=99&o=download&i=Giornaliera|Day|1&cat=rs&d1=01/01/2010&d2=01/01/2011&Wed%20Feb%2002%202011%2004:04:37%20GMT+0100 che puoi semplificare in: http://hydstraweb.provincia.tn.it/cgi-bin/webhyd/webhyd.pl?co=T0135&v=10.00_10.00,400.00_400.00,430.00_430.00,515.00_515.00,550.00_550.00&p=99&o=download&i=Giornaliera|Day|1&cat=rs&d1=01/01/2010&d2=01/01/2011&Wed%20Feb%2002%202011%2004:04:37%20GMT+0100 dalla quale hai come risultato una pagina html nella quale c'e' l'URL del file da scaricare .....onclick="location.href=\'http://hydstraweb.provincia.tn.it/webhyd/users/12176513/T0135_20110202.zip\';" id="down...... dove 12176513 e' un numero casuale generato dal server in un cookie che torna. (e che a te non serve). Basta quindi scaricarsi il file! Oppure se scegli la forma tabellare puoi fare un parsing della pagina direttamente dall'html che torna. Quindi la prima richiesta la fai con qualcosa di simile a questo: http://docstore.mik.ua/orelly/perl/cookbook/ch20_03.htm dalla quale una volta ricevuto il contenuto della pagina cerchi http://hydstra.*\.zip ed a quel punto con (mettendo in url e file la roba giusta) #!/usr/bin/perl use strict; use warnings; use LWP::Simple; my $url = 'http://marinetraffic2.aegean.gr/ais/getkml.aspx'; my $file = 'data.kml'; Fai attenzione alla netiquette nei confronti del sito. getstore($url, $file); hai recuperato il file... ora hai tutti gli elementi per scrivere lo spider... ;) gino -- Per iscriversi (o disiscriversi), basta spedire un messaggio con OGGETTO "subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx