HtmlAgilityPack que da problemas con html malformado

c# html-agility-pack

Pregunta

Quiero extraer texto significativo de un documento html y estaba usando html-agility-pack para el mismo. Aquí está mi código:

string convertedContent = HttpUtility.HtmlDecode(
    ConvertHtml(HtmlAgilityPack.HtmlEntity.DeEntitize(htmlAsString))
);

ConvertHtml:

string convertedContent = HttpUtility.HtmlDecode(
    ConvertHtml(HtmlAgilityPack.HtmlEntity.DeEntitize(htmlAsString))
);

Convertir a:

string convertedContent = HttpUtility.HtmlDecode(
    ConvertHtml(HtmlAgilityPack.HtmlEntity.DeEntitize(htmlAsString))
);

Ahora, en algunos casos, cuando las páginas html tienen un formato incorrecto (por ejemplo, la siguiente página - http://rareseeds.com/cart/products/Purple_of_Romagna_Artichoke-646-72.html tiene una etiqueta meta mal formada como <meta content="text/html; charset=uft-8" http-equiv="Content-Type"> ) [Nota" uft "en lugar de utf] mi código está empezando a fallar cuando intento cargar el documento html.

¿Puede alguien sugerirme cómo puedo superar estas páginas html con formato incorrecto y aún así extraer el texto relevante de un documento html?

Gracias, Kapil

Respuesta aceptada

Como se dice en la página del proyecto HtmlAgilityPack "El analizador es muy tolerante con el HTML malformado del" mundo real ". Pero el tipo de error que describe es demasiado serio tal vez para ser corregido. Puede establecer la codificación predeterminada con:

 HtmlDocument doc = new HtmlDocument();
 doc.OptionDefaultStreamEncoding = Encoding.UTF8;



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué