2011-10-04 10 views
5

Ho un aggiornamento del sito Web (le persone possono aggiornare il contenuto (testo) non l'aspetto del sito Web) che ha HTML, javascript come front end lingue & python come lato back-end/server.Miglior modulo Python per l'analisi HTML

mi sto trovando che l'aggiornamento HTML è molto difficile dal front-end, perché quando prendo il codice HTML aggiornata da ele.innerHTML o $ (ele) .html() dà HTML alterato a seconda del browser (DAMN IE).

così ho deciso di aggiornare il mio HTML dal back-end, vale a dire, in Python

Cosa pensi sia il miglior modulo Python per analizzare HTML & informazioni afferrare?

miei requisiti sono:
- che il modulo sia atleast in Python 2.5 o inferiore (a causa del mio provider)
- sarò parsing del codice HTML & trovare tutti gli elementi HTML che sono della classe "aggiornabile"
- Per ogni elemento della classe "aggiornabile": estrai il testo interiore (non solo testo/contenuto html)

Quale modulo Python suggeriresti per questo?
- HTMLParser.py
- htmllib.py
- Conoscere altri moduli compatibili con Python 2.5?

risposta

5

Sto usando lxml (http://lxml.de/lxmlhtml.html). È relativamente veloce per documenti html di dimensioni normali e supporta l'uso di BeautifulSoup. A quanto ho capito, BeautifulSoup non è più supportato, quindi per tutti i nuovi progetti ho usato lxml.

+4

La bella zuppa ora sembra essere di nuovo attiva, con una versione dal 3 luglio 2012. http://www.crummy.com/software/BeautifulSoup/ – jforberg

+0

In effetti, questa è una grande notizia! – David

8

Per analizzare HTML, suggerisco di dare un'occhiata a Beautiful Soup. È piuttosto potente e può gestire anche alcuni markup incasinati.

http://www.crummy.com/software/BeautifulSoup/

check this out e vedere se ti aiuta! Spero che lo faccia.

+0

A testa alta, BeautifulSoup non supporta più attivamente il suo autore e la dipendenza principale SQMLParser è stata deprecata per Python3. http://www.crummy.com/software/BeautifulSoup/3.1-problems.html – David

+0

Il mio male, non era a conoscenza di ciò, mi verrà l'opzione lxml in tal caso. – pcalcao

+0

È davvero un peccato che BeautifulSoup sia ancora un ottimo strumento. – David