Как использовать 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, как было упомянуто, но я надеюсь, что эти примеры помогут большинству людей, которые приходят сюда для быстрого исправления.

Ответ 5

Если вы хотите извлечь структурированные данные из Википедии, вы можете использовать DbPedia http://dbpedia.org/

Он предоставляет средства для запроса данных с использованием заданных критериев с использованием SPARQL и возвращает данные из проанализированных шаблонов инфобокс Википедии

Есть несколько библиотек SPARQL, доступных для нескольких платформ, чтобы упростить запросы

Ответ 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 для обработки данных из проанализированных статей Википедии.