3

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

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 的类别。这是一个错误,还是我错过了什么?

4

1 回答 1

12

注意<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>以及为什么它没有列出文章的所有类别的原因。

于 2012-03-23T22:27:35.870 回答