以下查询返回列出为“好文章”的Wikipedia文章(为方便起见,限制为5)。
这很好,我得到以下结果:
await Task.Delay(waitTime, token1);
现在,我想获取与每篇文章相关的类别,因此我尝试使用“生成器”查询,如此处所述:https://www.mediawiki.org/wiki/API:Query#Generators
但是由于某种原因,类别列表仅显示在第一个结果中。
{
"batchcomplete": "",
"continue": {
"eicontinue": "0|666",
"continue": "-||"
},
"query": {
"embeddedin": [
{
"pageid": 12,
"ns": 0,
"title": "Anarchism"
},
{
"pageid": 307,
"ns": 0,
"title": "Abraham Lincoln"
},
{
"pageid": 308,
"ns": 0,
"title": "Aristotle"
},
{
"pageid": 339,
"ns": 0,
"title": "Ayn Rand"
},
{
"pageid": 627,
"ns": 0,
"title": "Agriculture"
}
]
}
我可以选择在第一个查询的结果上使用foreach循环来获取所有相关类别,但是,如果可能的话,我会发现从一个查询到API所需的信息更加有效。另外,我想了解为什么只显示第一个结果。
谢谢您的帮助!
答案 0 :(得分:1)
即使不能完全解决问题,也有太多类别无法在一个查询中将它们全部返回。请查看query continuation的文档以了解如何进行处理(链接到旧版本,因为当前版本似乎无法清楚地解释该概念)。