如何获取wiki页面ID



我目前正在使用PHP制作一个聊天机器人,可以对wiki进行研究,并自动发送介绍,这里是wiki api json(https://zh.wikipedia.org/w/api.php?format=json&action=查询&prop=摘录&exintro&explaintext&重定向=1&title=search_title(

{"batchcomplete":"","query":{"redirects":[{"from":"search_title","to":"search_title"}],"pages":{"541":{"pageid":541,"ns":0,"title":"search_title","extract":"ablablablablablablablablablablabla。"}}}}

我想通过获得提取部分

$data=$jsondata['query']['pages']["541"]['extract'];

但我似乎需要先知道pageid是'541',有没有方法可以让我先知道padeid??

您应该寻找一种在不知道键的情况下迭代数组值的方法。我不是PHP开发人员,但我认为foreach可以:

foreach ($jsondata['query']['pages'] as $pageid => $pagedata) {
extract = $pagedata['extract']
...
}

查询还有一个formatversion=2参数,它将使

action=query的"pages"是一个数组,而不是具有页面ID的对象作为可能难以迭代的键。

最新更新