2

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

以这个页面为例:http ://en.m.wikipedia.org/wiki/LINQ

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

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

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

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

4

2 回答 2

6

使用 API 获取文章文本的方式类似于:

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

使用 LINQ to Wiki,它是类似的:

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

对于这样一个普通的操作,那是相当复杂的代码。我正在考虑为像这样的常见操作添加辅助方法,但我还没有做到这一点。

于 2013-07-29T19:43:24.853 回答
4

您可以通过以下几种方式做到这一点:

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

<div class="section">

同样从我可以从LINQ to Wikiapi 中看到的内容,您可以按类别获取页面数据(我相信这也是您引用的部分)。需要进一步分析,但我建议您查看:

于 2013-07-29T16:37:16.527 回答