Comment obtenir une table de Wikipedia

c# html-agility-pack web-scraping xml

Question

Je veux mettre une table de Wikipédia dans un fichier XML et l’analyser ensuite en C #. C'est possible? Si oui, puis-je sauvegarder au xml uniquement la colonne titre et genre ?

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

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

Réponse acceptée

Vous pouvez utiliser un navigateur 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++;
                        }

                    }
                }
            }

maintenant vous avez deux liste (genre et titre). vous pouvez simplement les convertir en fichier XML


Réponse populaire

Pensez également à regarder l'API Wikipedia pour cibler une section particulière d'une page wikipedia.

La documentation de l'API explique comment formater les résultats de la recherche pour une analyse ultérieure.



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi