prop = extract不返回WikiMedia API中的所有提取

Ian*_*cks 3 wikipedia mediawiki-api

我想使用维基百科API一次性返回多个维基百科文章的摘录.我正在尝试,例如,以下请求(我只是随机选择了pageids):

http://en.wikipedia.org/w/api.php?format=xml&action=query&pageids=3258248|11524059&prop=extracts&exsentences=1

但它只包含第一个pageid的提取,而不是第二个.其他属性似乎没有这个限制.例如

http://en.wikipedia.org/w/api.php?format=xml&action=query&pageids=3258248|11524059&prop=categories

将返回两个pageid的类别.这是一个错误,还是我错过了什么?

svi*_*ick 10

注意<query-continue>元素.它告诉您要获取更多提取物,您需要指定excontinue=1:

http://en.wikipedia.org/w/api.php?format=xml&action=query&pageids=3258248|11524059&prop=extracts&exsentences=1&excontinue=1

您应该能够通过指定exlimit=max以下内容来获取它们:

http://en.wikipedia.org/w/api.php?format=xml&action=query&pageids=3258248|11524059&prop=extracts&exsentences=1&exlimit=max

但这似乎不正常,我不知道为什么.

顺便说一句,类别有类似的限制,这就是为什么你的类别查询也有,<query-continue>以及为什么它没有列出文章的所有类别.

  • 啊,谢谢你把我指向`exlimit = max` - 它最终成了关键 - 但是,由于一个我不理解的原因,我还必须设置`exintro`.这两者的结合使得它可以获取所有提取物.看了一会儿,我不认为`excontinue`是一个布尔变量,我认为这是一个更复杂的多页交易,所以我把它留空了.所以我的整个查询是:`http://en.wikipedia.org/w/api.php?format = xml&action = query&pageids = 11524059 | 3258248&prop = extracts&exlimit = max&explaintext&exintro` (3认同)