Actualmente estoy tratando de robar un sitio web que tiene un formato HTML pobremente formateado (a menudo faltan etiquetas de cierre, sin uso de clases o identificadores, por lo que es increíblemente difícil ir directamente al elemento que desea, etc.) He estado usando BeautifulSoup con cierto éxito hasta el momento, pero de vez en cuando (aunque muy raramente), me encuentro con una página donde BeautifulSoup crea el árbol HTML de una forma un tanto diferente a (por ejemplo) Firefox o Webkit. Si bien esto es comprensible ya que el formato del HTML deja esto ambiguo, si pudiera obtener el mismo árbol de análisis sintáctico que Firefox o Webkit, sería capaz de analizar las cosas mucho más fácilmente. Los problemas suelen ser algo así como que el sitio abre una etiqueta <b>
dos veces y cuando BeautifulSoup ve la segunda etiqueta <b>
, inmediatamente cierra la primera mientras Firefox y Webkit anidan las etiquetas <b>
.Web scraping con Python
Existe una biblioteca web para Python (o incluso cualquier otro idioma (me estoy desesperando)) que puede reproducir el árbol de análisis generado por Firefox o WebKit (o al menos estar más cerca que BeautifulSoup en casos de ambigüedad) .
Por qué no usar WebKit sí? Webkit es de código abierto. Sí, tomará un poco de tiempo acostumbrarse. –
¿Le has contado al grupo beautifulsoup? Probablemente estén interesados en las cajas de esquina como la suya http://groups.google.com/group/beautifulsoup –
cuando se las pregunta tantas veces ... –