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