Hace tiempo estuvimos decidiendo que parser usar, para procesar el html en mi proyecto actual. En su momento fue una labor nada sencilla. Había dos requisitos básicos: tenía que ser rápido y se tenía que tragar html defectuoso. El ganador fue libxml2.
Hoy me he encontrado un blog muy interesante, el de Ian Bicking. En su blog tiene un artículo reciente sobre el parseo de html. En dicho artículo llega a la conclusión de que el mejor parser es lxml.
Llega a la misma conclusión que llegué yo, pero bajo unos requerimientos diferentes.
Sería interesante probar cuanto tiempo ganamos usando libxml2 y nuestras propias estructuras de datos frente a usar directamente lxml.
1 comentario:
Voy a aclarar lo de los requisitos...
Ian está comparando parsers que generan un arbol, mientras que yo estaba interesado en un parser SAX.
Tas un chateo con Carlos, he estado hoy ojeando la página de lxml y desde que en su momento lo miré a ahora ha evoluciano un montón. De hecho cuando lo miré creo no soportaban el parseo de html.
Vamos... que a no ser que quieras usar libxml2 (que es lo que usa por debajo lxml) por algún motivo en especial, parece que actualmente el mejor parser para python podría ser lxml.
Pero me queda una duda... ¿realmente usan el parser de html de libxml2 para parsear el html? Es que he visto referencias a BeautifulSoup. Por los tiempos que pone Ian en sus estadisticas creo que no.
Publicar un comentario