Da tempo uso la possibilità di google di costruire propri motori di ricerca
inserendo in una lista i siti su cui effettuare la ricerca. Vengo al mio
problema: voglio realizzare un motore che ricerchi documenti solo nei siti
della PA italiana (regioni, province, comuni, ...) per farlo voglio
interrogare il sito ancitel.it e prelevare dalle pagine web create gli
indirizzi web. Volendo imparare perl pensavo di unire l'utile al
dilettevole.
Qualcuno puo suggerirmi su come procedere oppure se qualcuno ha già
affrontato e risolto un problema simile?
Grazie per le risposte.
Franco A.
Un sacco di gente.
Difatti su CPAN ci sono svariati moduli per farlo, tra i quali ti
segnalo questi due:
http://search.cpan.org/perldoc?HTML::LinkExtractor
http://search.cpan.org/perldoc?HTML::LinkExtor
Sono entrambi basati su HTML::Parser, altrimenti un altro approccio è
quello regex-based, ma se le URL compaiono come link, come nel sito
www.ancitel.it, è preferibile il primo approccio.
Che forse è anche più istruttivo, perché imparare ad usare i moduli
esterni (e CPAN) è probabilmente più importante che imparare le regex,
che tra l'altro per questo particolare caso trovi già bell'e pronte:
http://search.cpan.org/perldoc?Regexp::Common::URI::http
(Però anche le regex hanno la loro porca importanza).
Ciao,
Emanuele.
saluti.
> Grazie per le info, spero di imparare presto e bene il perl perche mi sembra
> un linguaggio dalle potenzialita fantastiche.
Ti confermo che hai fatto un'ottima scelta: tra i linguaggi di
programmazione odierni, le potenzialità di Perl (+CPAN) sono veramente
ineguagliate ;-)
Rileggendo meglio il tuo messaggio originario (dopo 2 giorni, che
fulmine che sono), mi sono reso conto che per automatizzare
completamente il tuo task, probabilmente hai bisogno anche di uno user
agent http programmabile.
Nessun problema neanche per questo ;-)
CPAN ti mette a disposizione roba come LWP::UserAgent o WWW::Mechanize,
o come Web::Scraper che unisce sotto un'unica interfaccia LWP::UserAgent
e HTML::Parser (ovvero, se vuoi fai tutto soltanto con quello).
(La ricerca su CPAN dei moduli predetti la lascio a te ;-)
Ciao e benvenuto,
Emanuele.