维基百科搜索api有很多附带信息


Wikipedia search api with much side information

我想使用php从维基百科中获取一些关于我的查询的信息。我想要一个描述,标题,img url(如果存在的话),以及一些关于它的辅助信息。例如,像谷歌维基百科的信息,有很多辅助信息。

到目前为止,我只有描述&标题

我的代码:

        $q = str_replace("#", "", ucwords($query));
        $opts = array('http' =>
          array(
            'user_agent' => 'Mozilla Firefox www (http://www.mozilla.org)'
          )
        );
        $context = stream_context_create($opts);
        $url = 'en.wikipedia.org/w/api.php?action=opensearch&search='.$q.'&limit=1&namespace=0&format=xml';
        @$wiki_arr = simplexml_load_file($url);
        if(@$wiki_arr->Section->Item->Text == "" or @strtolower($wiki_arr->Section->Item->Text) != strtolower($q))
        {
            return "";
        }
        $title = $wiki_arr->Section->Item->Text;
        $description = $wiki_arr->Section->Item->Description;
        $url = $wiki_arr->Section->Item->Url;
        $result = "".$title.", ".$description.", ".$url."";

再一次,维基百科API是不存在的。有一个MediaWiki网站API。如果某个东西在那里不存在,它就根本不存在于wikipedia.org/中

对于你的问题:你说你想做一些类似谷歌知识图谱中维基百科卡片的事情。这是什么力量?Freebase。什么是相当于Freebase的维基媒体项目?Wikidata.org。(不仅适用于维基百科,也适用于Wikisource等。)因此,请通过其自己记录的API使用Wikidata数据:http://wikidata.org/w/api.php

您可以检查[[wikidata:属性列表]]以了解要访问的数据类型,并检查[[mediawiki:Category:Wikibase]]以了解访问API的其他库。你可以这样做的一个例子是wdsearch.js,它是tools.wmflabs.org上的另一个推理器(抱歉,无法添加更多链接)。