假设我有一种语言的目击名单,并且想用维基百科的一些数据丰富这个列表。
因此,我有以下数据--慕尼黑是一个城市,它有以下几个吸引人的地方:
我需要做以下几件事:
我尝试了NuGet仓库的Linq到Wiki,但是我无法运行这个场景.下面是我正确地超时的代码:
var enwiki = new Wiki("LinqToWiki.Samples", "en.wikipedia.org", "/w/api.php");
var result = enwiki.Query.allpages()
.Pages
.Select (
page =>
new
{
Title = page.info.title,
Text = page.revisions()
.Where( r => r.section == "0")
.Select( r => r.value)
);发布于 2013-06-12 00:32:00
如果您知道相关文章的标题,您可以这样做:
var titles = wiki.CreateTitlesSource(
"Munich Frauenkirche", "Marienplatz", "Karlsplatz (Stachus)");
var pages =
titles.Select(
page => new
{
Title = page.info.title,
Text = page.revisions()
.Where(r => r.section == "0" && r.parse)
.Select(r => r.value)
.FirstOrDefault(),
LangLinks = page.langlinks().ToEnumerable()
}).ToEnumerable();LangLinks将以不同的语言包含文章的标题。
Text将包含第一部分的HTML。如果您认为wikitext会更好,您可以通过删除&& r.parse来实现这一点。
还有一些extracts模块似乎支持获取实际的明文,但该模块目前不受LinqToWiki支持。
https://stackoverflow.com/questions/17055310
复制相似问题