On Wed, Jun 18, 2008 at 11:13:16PM +0200, Francesco De Gasperin wrote: > ho una pagina web abbastanza lunga e composta da decine di paragrafi e > sottoparagrafi con titoli e quant'altro. > Esiste qualche prog che semplifica il procedimento? O parto subito da > man perlre? Per parsare XML (quindi se non è troppo schifido anche HTML), è molto meglio usare XPATH rispetto ad espressioni regolari macchinose. Un esempio: Per prendere tutti i titoli degli articoli nella prima pagina di reddit: wget -O - http://www.reddit.com/r/programming/ | xpath -e '/html/body/div[@class="content"]//p[@class="title"]/a/text()' Per prendere tutti gli indirizzi degli articoli invece: wget -O - http://www.reddit.com/r/programming/ | xpath -e '/html/body/div[@class="content"]//p[@class="title"]/a/@href' (nota il // per scendere di livelli multipli) Per trovare in fretta il percorso XPath verso i tag che ti interessano, ci sono 2 metodi che conosco. - usare la firefox developer bar, che ha la "view style information" (ctrl+shift+Y), e passare il mouse sopra gli elementi che vuoi. - usare il tool html2 (o se è XML well-formed xml2). lothlorien:pts/0 15% dpkg -S =xpath =html2 libxml-xpath-perl: /usr/bin/xpath xml2: /usr/bin/html2 Forse all'inizio ci vuole un pò per capire la logica, ma secondo me è un investimento di tempo che vale la pena fare :) Se l'HTML è troppo schifido c'è la libreria Ruby Beautiful Soup, che si dice possa parsare l'imparsabile. Però devi imparare Ruby :) Ciao, -- Fernando Vezzosi 3F29 4D20 510E E1AE 991D 3B12 D6BE 7C05 B289 97C9
Attachment:
signature.asc
Description: Digital signature