【问题标题】:Wikimedia api and php维基媒体 api 和 php
【发布时间】:2014-07-29 12:07:06
【问题描述】:

我正在使用 Wikimedia api 和 php。我需要从文章中获取第一张主图像和文章中的所有文本。我有它的代码,但它只需要简短的信息和很少的图片。我尝试更改许多参数,但都不起作用。

代码在这里:

function get_wiki_url($title) {

    $context = stream_context_create(array(
            'http' => array(
                    'method'=>"POST",
                    'content' => $reqdata = http_build_query(array(
                            'action' => 'opensearch',
                            'search' => $title,
                            'prop' => 'info',
                            'format' => 'xml',
                            'inprop' => 'url'
                            )),
                    'header' => implode("\r\n", array(
                            "Content-Length: " . strlen($reqdata),
                            "User-Agent: MyCuteBot/0.1",
                            "Connection: Close",
                            ""
                            ))
                    )));

    if (false === $response = file_get_contents("http://ru.wikipedia.org/w/api.php", false, $context)) {
        return false;
    }

    //парсим строку
    $xml = simplexml_load_string($response);
    return $xml->Section->Item;
}

var_dump ($pages_data = get_wiki_url("article header"));

【问题讨论】:

    标签: php mediawiki wiki wikipedia-api mediawiki-api


    【解决方案1】:

    您的查询似乎正在搜索 $title(参数 action=opensearch);如果你想要文章和主图片(我想你想要 HTML,而不是 wikitext),你需要使用action=parse——见Mediawiki parse documentation

    获取 Hyperloop 页面的示例 URL:

    http://ru.wikipedia.org/w/api.php?action=parse&format=xml&page=Hyperloop
    

    该文档包含所有可用选项的详细信息。

    【讨论】:

      猜你喜欢
      • 2011-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多