Как получить вики Pageid? - PullRequest
       23

Как получить вики Pageid?

0 голосов
/ 20 февраля 2020

В настоящее время я использую PHP, чтобы создать чат-бота, который может проводить исследования вики и отправлять вступление автоматически, вот вики API json (https://zh.wikipedia.org/w/api.php?format=json&action=query&prop=extracts&exintro&explaintext&redirects=1&titles=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', есть ли метод, который я может знать падейд в первый раз?

1 Ответ

0 голосов
/ 20 февраля 2020

Вы должны искать способ перебирать значения массива, не зная ключей. Я не PHP разработчик, но я думаю, что foreach подойдет:

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

Для запроса также есть параметр formatversion=2 кроме всего прочего,

action = query "pages" будет массивом, а не объектом с идентификаторами страниц в качестве ключей, которые могут быть сложными для итерации.

...