Mantengo una base de datos de artículos con formato HTML. Por desgracia los editores que escribieron artículos no saber HTML adecuado, por lo que a menudo tienen cosas escritas como:Cómo analizar HTML no válido con Perl?
<div class="highlight"><html><head></head><body><p>Note that ...</p></html></div>
Intenté usar HTML::TreeBuilder
para analizar este código HTML pero después de analizarlo y volcar el árbol resultante, entre todos los elementos <div class="highlight">...</div>
se han ido. Me quedé solo con <div class="highlight"></div>
.
los editores a menudo, también lo han hecho cosas como:
<div class="article"><style>@font-face { font-family: "Cambria"; }</style>Article starts here</div>
análisis sintáctico esto con HTML::TreeBuilder
resultados en vacío <div class="article"></div>
nuevo.
¿Alguna idea de cómo abordar este HTML roto y, de hecho, darle sentido?
¿Has probado mirarlo como xml? Puede que no sea un html válido, pero es posible que puedas separarlo usando xpath. –
@BartonChittenden Buena suerte con eso. –