Wikipedia поиск API с большим количеством дополнительной информации

Я хочу взять некоторую информацию о моем запросе из Википедии, используя php. Я хочу иметь описание, заголовок, img url (если существует) и дополнительную информацию о нем. Например, как информация Google Википедии, с большим количеством дополнительной информации.

До сих пор у меня есть только описание & заглавие.

Мой код:

        $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."";

1

Решение

Еще раз, нет такой вещи, как API Википедии. Eсть MediaWiki веб-API. Если там чего-то не существует, его вообще нет в wikipedia.org.

На ваш вопрос: вы сказали, что хотите сделать что-то вроде карты Википедии в Графе знаний Google. Какие силы это? Freebase. Что такое проект Викимедиа, эквивалентный Freebase? Wikidata.org. (И не только для Wikipedia, но и для Wikisource и т. Д.) Итак, пожалуйста, используйте данные Wikidata через API, который задокументирован сам по себе: http://wikidata.org/w/api.php

Вы можете проверить [[wikidata: список свойств]], чтобы узнать, к какому типу данных обращаться, и [[mediawikiwiki: Category: Wikibase]] для других библиотек для доступа к API. Примером того, что вы можете сделать таким образом, является wdsearch.js, другой аргумент на tools.wmflabs.org (извините, я не могу добавить больше ссылок).

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]