LinqToWiki C#无法检索维基百科中的imageinfo

时间:2013-09-19 13:39:01

标签: c# wikipedia-api linq-to-wiki

我正在使用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。 有人遇到过同样的问题吗?我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

你没有遗漏任何东西,我只是没想到那些实际上并不存在的页面(在你正在使用的wiki上)可以拥有有用的数据。我会尽快修复此问题,但作为临时解决方法,您可以直接查询http://commons.wikimedia.org来自那里的图片。

编辑:我已更新LinqToWiki,新版本应正确处理imageinfo