parser - Bibliotecas de análisis HTML para.NET
parse html online (1)
HTML Agility Pack tiene ejemplos de exactamente este tipo de cosas, y usa xpath para consultas familiares, por ejemplo (desde la página de inicio), para encontrar todos los enlaces es simplemente:
foreach(HtmlNode link in doc.DocumentElement.SelectNodes("//a@href")) {
//...
}
EDITAR
A partir del 19/06/2012, el código anterior, así como el único ejemplo de código que se muestra en la página HTML Agility Pack Examples no funcionarán. Solo necesita un ligero ajuste como se muestra a continuación.
HtmlDocument doc = new HtmlDocument();
doc.Load("file.htm");
foreach (HtmlNode link in doc.DocumentNode.SelectNodes("//a[@href]"))
{
HtmlAttribute att = link.Attributes["href"];
att.Value = Foo(att); // fix the link
}
doc.Save("file.htm");
Estoy buscando bibliotecas para analizar HTML para extraer enlaces, formularios, etiquetas, etc.
- http://www.majestic12.co.uk/projects/html_parser.php
- http://www.netomatix.com/Products/DocumentManagement/HtmlParserNet.aspx
- http://www.developer.com/net/csharp/article.php/2230091
LGPL o cualquier otra licencia amigable para el desarrollo comercial son preferibles.
¿Tienes alguna experiencia con una de estas bibliotecas? ¿O podrías recomendar otra biblioteca similar?