Как использовать wikipedia api, если он существует?
Я пытаюсь выяснить, есть ли википедия api (я думаю, что это связано с медиавиками?).
Если это так, я хотел бы знать, как я бы сказал wikipedia, чтобы дать мне статью о новых йоркских янки, например.
Каким будет URL-адрес REST для этого примера?
Все документы по этому вопросу кажутся довольно сложными.
Ответы
Ответ 1
Вам действительно нужно потратить некоторое время на чтение документации, так как это заняло у меня минуту, чтобы посмотреть и нажмите ссылку, чтобы исправить это.:/но из-за сочувствия я дам вам ссылку, которую, возможно, вы можете научиться использовать.
http://en.wikipedia.org/w/api.php?action=query&prop=revisions&titles=New_York_Yankees&rvprop=timestamp|user|comment|content
То, что вы получите, вы получите. Лучше всего знать страницу, на которой вы будете следовать, и заменить часть ссылки Википедии в заголовок i.e.:
http://en.wikipedia.org/wiki/New_York_Yankees [Возьмите часть после wiki/]
- >
http://en.wikipedia.org/w/api.php?action=query&prop=revisions&titles=New_York_Yankees&rvprop=timestamp|user|comment|content
[Поместите его в переменную title запроса GET.
URL-адрес, указанный выше, может быть использован для настройки различных разделов, которые вы делаете или не хотите. Поэтому прочитайте документацию:)
Ответ 2
Ответы здесь помогли мне прийти к решению, но я обнаружил больше информации в процессе, которая может быть полезной для других, кто находит этот вопрос. Я считаю, что большинство людей просто хотят использовать API для быстрого получения контента со страницы. Вот как я это делаю:
Использование версий:
//working url:
http://en.wikipedia.org/w/api.php?action=query&prop=revisions&titles=Threadless&rvprop=content&format=json&rvsection=0&rvparse=1
//Explanation
//Base Url:
http://en.wikipedia.org/w/api.php?action=query
//tell it to get revisions:
&prop=revisions
//define page titles separated by pipes. In the example i used t-shirt company threadless
&titles=whatever|the|title|is
//specify that we want the page content
&rvprop=content
//I want my data in JSON, default is XML
&format=json
//lets you choose which section you want. 0 is the first one.
&rvsection=0
//tell wikipedia to parse it into html for you
&rvparse=1
Использование экстрактов (лучше/проще для того, что я делаю)
//working url:
http://en.wikipedia.org/w/api.php?action=query&prop=extracts&titles=Threadless&format=json&exintro=1
//only explaining new parameters
//instead of revisions, we'll set prop=extracts
&prop=extracts
//if we just want the intro, we can use exintro. Otherwise it shows all sections
&exintro=1
Вся информация требует прочтения документации API, как было упомянуто, но я надеюсь, что эти примеры помогут большинству людей, которые приходят сюда для быстрого исправления.
Ответ 3
См. http://www.mediawiki.org/wiki/API
В частности, для английской Википедии API находится в http://en.wikipedia.org/w/api.php
Ответ 4
Посмотрите на ApiSandbox на https://en.wikipedia.org/wiki/Special:ApiSandbox Это веб-интерфейс, чтобы легко запросить API. Несколько кликов создадут вам URL-адрес и покажут результат API.
Это расширение для MediaWiki, включенное на всех языках Википедии. https://www.mediawiki.org/wiki/Extension:ApiSandbox
Ответ 5
Если вы хотите извлечь структурированные данные из Википедии, вы можете использовать DbPedia http://dbpedia.org/
Он предоставляет средства для запроса данных с использованием заданных критериев с использованием SPARQL и возвращает данные из проанализированных шаблонов инфобокс Википедии
Есть несколько библиотек SPARQL, доступных для нескольких платформ, чтобы упростить запросы
Ответ 6
Если вы хотите извлечь структурированные данные из Википедии, вы также можете попробовать
http://www.wikidata.org/wiki/Wikidata:Main_Page
Ответ 7
Ниже приведен рабочий пример, который выводит первое предложение из страницы Wikipedias New York Yankees на консоль веб-браузеров:
<!DOCTYPE html>
</html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
</head>
<body>
<script>
var wikiUrl = "http://en.wikipedia.org/w/api.php?action=opensearch&search=New_York_Yankees&format=json&callback=wikiCallbackFunction";
$.ajax(wikiUrl, {
dataType: "jsonp",
success: function( wikiResponse ) {
console.log( wikiResponse[2][0] );
}
});
</script>
</body>
</html>
http://en.wikipedia.org/w/api.php
конечная точка для вашего URL-адреса. Вы можете посмотреть, как структурировать свой URL, посетив:
http://www.mediawiki.org/wiki/API:Main_page
Я использовал jsonp в качестве типа dataType, чтобы разрешать межсайтовые запросы. Подробнее можно найти здесь:
http://www.mediawiki.org/wiki/API:Cross-site_requests
И последнее, но не менее важное: обязательно обратитесь к API JQuery.ajax():
http://api.jquery.com/jquery.ajax/
Ответ 8
Wiki Parser конвертирует отвалы Википедии в XML. Это также довольно быстро. Затем вы можете использовать любой инструмент обработки XML для обработки данных из проанализированных статей Википедии.