Come ottenere una tabella da Wikipedia

c# html-agility-pack web-scraping xml

Domanda

Voglio mettere una tabella da Wikipedia in un file xml e quindi analizzarla in C #. È possibile? Se sì, posso salvare in xml solo la colonna Titolo e Genere ?

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

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

Risposta accettata

Puoi usare un browser 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++;
                        }

                    }
                }
            }

ora hai due liste (genere e titolo). puoi semplicemente convertirli in un file xml


Risposta popolare

Considera anche di guardare l'API di Wikipedia per azzerare una particolare sezione di una pagina di Wikipedia

La documentazione API descrive come è possibile formattare i risultati della ricerca per l'analisi successiva.




Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché