2011-10-04 6 views
5

Tengo un actualizador de sitio web (las personas pueden actualizar el contenido (texto) no el aspecto del sitio web) que tiene HTML, javascript como lenguajes frontales & python como parte de servidor/back-end.Mejor módulo de Python para análisis de HTML

Estoy descubriendo que la actualización de HTML es muy difícil desde el extremo anterior porque cuando me agarra el HTML actualizada por ele.innerHTML o $ (ELE) .html() da HTML alterada en función del navegador (MALDITO ES DECIR).

Así que han decidido actualizar mi HTML desde el servidor, es decir, en Python

¿Qué crees que es el mejor módulo de Python para analizar HTML & información de agarre?

Mis requisitos son:
- que el módulo sea al menos en Python 2.5 o menos (debido a mi servicio de hosting)
- Voy a análisis de HTML & encontrar todos los elementos HTML que son de la clase "actualizable"
- Para cada elemento de la clase "actualizable": extrae el texto interno (no solo texto/contenido html)

¿Qué módulo de python sugerirías es el mejor para esto?
- HTMLParser.py
- htmllib.py
- conozco ningún otro pitón de 2,5 módulos compatibles?

Respuesta

5

He estado usando lxml (http://lxml.de/lxmlhtml.html). Es relativamente rápido para documentos html de tamaño normal y tiene soporte para usar BeautifulSoup. Según tengo entendido, BeautifulSoup ya no es compatible, por lo que para todos los proyectos nuevos he usado lxml.

+4

Beautiful Soup ahora parece estar activo de nuevo, con un lanzamiento del 3 de julio de 2012. http://www.crummy.com/software/BeautifulSoup/ – jforberg

+0

¡De hecho, eso es una gran noticia! – David

8

Para analizar HTML, le sugiero que eche un vistazo a Beautiful Soup. Es bastante poderoso y también puede lidiar con algún margen de error.

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

mira esto y ver si le ayuda a cabo! Espero que sí.

+0

Como advertencia, BeautifulSoup ya no cuenta con la asistencia activa de su autor y la dependencia del núcleo SQMLParser quedó obsoleta para Python3. http://www.crummy.com/software/BeautifulSoup/3.1-problems.html – David

+0

Es malo, no era consciente de eso, subiré la opción lxml en ese caso. – pcalcao

+0

Es realmente desafortunado ya que BeautifulSoup sigue siendo una gran herramienta. – David

Cuestiones relacionadas