我需要以编程方式从维基百科获取文章,我需要能够以 HTML 或原始文本的形式获取部分及其内容。
以这个页面为例:http ://en.m.wikipedia.org/wiki/LINQ
我找到了这个 .NET Api,但它似乎不支持获取文章。
https://github.com/svick/LINQ-to-Wiki
是否有任何我可以使用的 .NET 库,或者我必须解析网站的 html 内容?
PS我知道维基百科有一个API,但我看不到任何关于如何使用它来做我需要的例子。
我需要以编程方式从维基百科获取文章,我需要能够以 HTML 或原始文本的形式获取部分及其内容。
以这个页面为例:http ://en.m.wikipedia.org/wiki/LINQ
我找到了这个 .NET Api,但它似乎不支持获取文章。
https://github.com/svick/LINQ-to-Wiki
是否有任何我可以使用的 .NET 库,或者我必须解析网站的 html 内容?
PS我知道维基百科有一个API,但我看不到任何关于如何使用它来做我需要的例子。
使用 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();
对于这样一个普通的操作,那是相当复杂的代码。我正在考虑为像这样的常见操作添加辅助方法,但我还没有做到这一点。
您可以通过以下几种方式做到这一点:
使用HtmlAgilityPack并解析 html。从该页面的外观来看,所有部分似乎都采用格式
<div class="section">
同样从我可以从LINQ to Wiki
api 中看到的内容,您可以按类别获取页面数据(我相信这也是您引用的部分)。需要进一步分析,但我建议您查看: