【问题标题】:How to get wiki pageid?如何获取wiki pageid?
【发布时间】:2020-02-20 02:15:51
【问题描述】:

我目前正在使用PHP做一个可以做wiki研究的聊天机器人,并自动发送介绍,这里是wiki 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',有没有方法可以让我先知道padeid??

【问题讨论】:

    标签: php json api mediawiki mediawiki-api


    【解决方案1】:

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

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

    还有一个用于查询的formatversion=2 参数,除其他外,它将生成

    action=query 的“pages”是一个数组,而不是一个带有页面 id 的对象 作为难以迭代的键。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多