PDA

View Full Version : [Python] estrarre contenuto da file html


bigboss1984
22-03-2011, 15:48
ciao a tutti,
ho la neccessità di estrarre contenuti da un file html abbastanza grande, ho provato ad usare HTMLParser ma non sono riuscito a fare cio che devo:

<Result documentScore="1.923871" outputMode="3">[[Donald Duck|Donald Fauntleroy Duck]] is an [[Cartoon|American cartoon]] [[Character (arts)|character]] from [[The Walt Disney Company]]</Result>


da questa line nel file html avrei la neccessita di estrarre il content sotto forma di stringa cioè:

[[Donald Duck|Donald Fauntleroy Duck]] is an [[Cartoon|American cartoon]] [[Character (arts)|character]] from [[The Walt Disney Company]]

esiste qualche funzione che lo fa oppure devo farmela da solo?
avete qualche suggerimento?

grazie mille
Alberto

DoctorT
22-03-2011, 16:11
ciao a tutti,
ho la neccessità di estrarre contenuti da un file html abbastanza grande, ho provato ad usare HTMLParser ma non sono riuscito a fare cio che devo:

<Result documentScore="1.923871" outputMode="3">[[Donald Duck|Donald Fauntleroy Duck]] is an [[Cartoon|American cartoon]] [[Character (arts)|character]] from [[The Walt Disney Company]]</Result>


da questa line nel file html avrei la neccessita di estrarre il content sotto forma di stringa cioè:

[[Donald Duck|Donald Fauntleroy Duck]] is an [[Cartoon|American cartoon]] [[Character (arts)|character]] from [[The Walt Disney Company]]

esiste qualche funzione che lo fa oppure devo farmela da solo?
avete qualche suggerimento?

grazie mille
Alberto

se il file è in XHTML (cioè è in XML "ben formato") puoi usare la classe elementtree che è nella libreria standard delle ultime versioni di python

Johnn
22-03-2011, 23:40
Prova con Beautiful Soup: http://www.crummy.com/software/BeautifulSoup/

WarDuck
23-03-2011, 10:00
Python mette a disposizione le classi per gestire il DOM, comunque c'è anche la classe xml.dom.minidom che può fare al caso tuo.