2 votes

De manière programmatique, obtenir un article de WikiPedia en .NET

Je dois obtenir de manière programmable des articles de Wikipedia, je dois être capable d'obtenir des sections et leur contenu sous forme de HTML ou de texte brut.

Prenez cette page comme exemple: http://en.m.wikipedia.org/wiki/LINQ

J'ai trouvé cette API .NET, mais il ne semble pas prendre en charge l'obtention d'articles.

https://github.com/svick/LINQ-to-Wiki

Y a-t-il des bibliothèques .NET que je peux utiliser, ou vais-je devoir analyser le contenu HTML du site web?

P.S. Je sais que Wikipedia a une API mais je ne vois aucun exemple de comment l'utiliser pour faire ce dont j'ai besoin.

6voto

svick Points 81772

La façon d'obtenir le texte de l'article en utilisant l'API serait quelque chose comme :

http://en.wikipedia.org/w/api.php?action=query&titles=LINQ&prop=revisions&rvprop=content

En utilisant LINQ to Wiki, c'est similaire :

string text =
    wiki.CreateTitlesSource("LINQ")
        .Select(p => p.revisions().FirstOrDefault().value)
        .ToEnumerable()
        .Single();

Pour une opération aussi courante, c'est un code assez compliqué. Je pensais ajouter des méthodes d'aide pour des opérations courantes comme celle-ci, mais je n'en suis pas encore là.

4voto

jrbeverly Points 1383

Vous pourriez le faire de quelques façons différentes :

En utilisant HtmlAgilityPack pour analyser le html. Apparemment, toutes les sections sur cette page semblent être au format

Aussi, d'après ce que je peux voir de l'api LINQ to Wiki, vous pouvez obtenir des données de page par catégories (ce qui je crois correspond aux sections dont vous parlez). Une analyse plus approfondie serait nécessaire mais je vous suggère de regarder :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X