[Python] Estrarre stringa da stringa

Nicola Larosa nico a tekNico.net
Mer 29 Set 2010 15:56:07 CEST


> franco93it ha scritto:
>> Scarico il sorgente di una pagina web in questo modo:
>> [...] 
>> Come faccio ad estrarre dalla pagina determinate parti contenuti
>> fra tag noti?

Vittorio Zuccala' wrote:
> Sono un po' emozionato: è la prima risposta che do in lista :-)

Grazie, continua per favore! :-)


> Se stringa è la variabile dove ci sono le informazioni:
>
> import re

Le espressioni regolari non sono l'ideale per grammatiche dipendenti dal
contesto come l'HTML: per esempio è difficile estrarre dati in presenza
di tag annidati.

Questa estrazione si chiama "parsing", e nel caso dell'HTML è complicata
dal fatto che ci sono in giro parecchie pagine il cui markup non rispetta
gli standard: occorre quindi impiegare parser tolleranti, che non vadano
in crisi in quei casi.

Lo strumento tipico in questi casi era BeatifulSoup, ma lo sconsiglio
perché non è più manutenuto, ed è parecchio lento.

Ho avuto buoni risultati con lxml.html
(http://codespeak.net/lxml/lxmlhtml.html). lxml è una delle migliori
librerie XML per Python, ed lxml.html è un parser tollerante specifico
per l'HTML.

-- 
Nicola Larosa - http://www.tekNico.net/

I've learned a lot of programming languages over the years, and I've
taken care never to learn the operator precedence rules in any of them.
It's easy to get them wrong and get bitten and why should I require that
people reading my code learn those stupid rules. - Tim Bray, June 2010


Maggiori informazioni sulla lista Python