Cómo obtener tabla de Wikipedia

c# html-agility-pack web-scraping xml

Pregunta

Quiero poner una tabla de Wikipedia en un archivo xml y luego analizarla en C #. ¿Es posible? En caso afirmativo, ¿puedo guardar en xml solo el título y la columna de género ?

HtmlWeb web = new HtmlWeb();
HtmlDocument doc = web.Load("http://en.wikipedia.org/wiki/2012_in_film");

HtmlNode node = doc.DocumentNode.SelectSingleNode("//table[@class='wikitable']");

Respuesta aceptada

Puede utilizar un navegador web:

//First navigate to your address
 webBrowser1.Navigate("http://en.wikipedia.org/wiki/2012_in_film");
        List<string> Genre = new List<string>();
        List<string> Title = new List<string>();
  //When page loaded
  foreach (HtmlElement table in webBrowser1.Document.GetElementsByTagName("table"))
            {
                if (table.GetAttribute("className").Equals("wikitable"))
                {
                    foreach (HtmlElement tr in table.GetElementsByTagName("tr"))
                    {
                        int columncount = 1;
                        foreach (HtmlElement td in tr.GetElementsByTagName("td"))
                        {
                            //Title
                            if (columncount == 4)
                            {
                                Title.Add(td.InnerText);
                            }
                            //Genre
                            if (columncount == 7)
                            {
                                Genre.Add(td.InnerText);
                            }
                            columncount++;
                        }

                    }
                }
            }

Ahora tienes dos listas (género y título). simplemente puede convertirlos a un archivo xml


Respuesta popular

También considere mirar la API de Wikipedia para concentrarse en una sección particular de una página de wikipedia

La documentación de la API describe cómo puede dar formato a los resultados de búsqueda para un análisis posterior.



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é