用程序从.NET中的WikiPedia获取一篇文章

本文关键字:一篇 文章 获取 程序 NET 中的 WikiPedia | 更新日期: 2023-09-27 18:25:32

我需要通过编程从维基百科中获取文章,我需要能够以HTML或原始文本的形式获取章节及其内容。

以本页为例:http://en.m.wikipedia.org/wiki/LINQ

我找到了这个.NET Api,但它似乎不支持获取文章。

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

有没有我可以使用的.NET库,或者我必须解析网站的html内容?

附言:我知道维基百科有一个API,但我看不到任何关于如何使用它来做我需要的事情的例子。

用程序从.NET中的WikiPedia获取一篇文章

使用API获取文章文本的方法如下:

http://en.wikipedia.org/w/api.php?action=query&title=LINQ&prop=修订&rvprop=内容

使用LINQ到Wiki,它类似于:

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

对于这样一个常见的操作,这是相当复杂的代码。我想为像这样的常见操作添加辅助方法,但我还没有做到。

您可以通过以下几种方式实现:

使用HtmlAgilityPack并解析html。从该页面的外观来看,所有部分似乎都采用格式

<div class="section">

此外,根据我从LINQ to WikiAPI中看到的内容,您可以按类别获取页面数据(我相信这也是您所参考的部分)。还需要进一步的分析,但我建议你研究一下:

  • PageData

  • NamespaceInfo