我正在使用LinqToWiki库查询维基百科的c#。 特别是我想要检索指向维基页面的完整图像URL文件:Cinnamomum_verum.jpg
使用官方Media Wiki API,请求为:http://it.wikipedia.org/w/api.php?action=query&prop=imageinfo&iiprop=url&titles=File:Cinnamomum_verum.jpg
正如您在浏览器中输入的那样,xml响应包含imageinfo结构,特别是url。
我无法使用LinqToWiki检索此信息。
我使用以下代码:
var c = wiki.CreateTitlesSource("File:Cinnamomum_verum.jpg");
var source = pages
.Select(
p =>
PageResult.Create(
p.info,
p.imageinfo()
.Select(i => new { i.comment }).ToEnumerable())
).ToEnumerable();
foreach (var item in list)
{
foreach (var item2 in item.Data)
{
//retrieve all urls detected
}
}
第一个foreach语句正确检索一个元素(页面),但内部元素返回none。 有人遇到过同样的问题吗?我错过了什么吗?
答案 0 :(得分:0)
你没有遗漏任何东西,我只是没想到那些实际上并不存在的页面(在你正在使用的wiki上)可以拥有有用的数据。我会尽快修复此问题,但作为临时解决方法,您可以直接查询http://commons.wikimedia.org来自那里的图片。
编辑:我已更新LinqToWiki,新版本应正确处理imageinfo
。