Pergunta

Eu estou tentando descobrir se há uma api wikipedia (acho que está relacionado com o MediaWiki?).

Se assim for, gostaria de saber como eu iria dizer wikipedia para me dar um artigo sobre as novas yankees york, por exemplo.

O que o RESTO URL ser para este exemplo?

Todos os documentos sobre este assunto parecem bastante complicado.

Foi útil?

Solução

Você realmente precisa gastar algum tempo lendo a documentação, pois isso me levou um momento para olhar e clique no link para corrigi-lo. : / Mas por simpatia eu vou lhe oferecer um link que talvez você pode aprender a usar

.

http: // en.wikipedia.org/w/api.php?action=query&prop=revisions&titles=New_York_Yankees&rvprop=timestamp|user|comment|content

Essa é a variabled você estará olhando para começar. Sua melhor aposta é a de saber a página que será depois e substituir a peça de ligação Wikipedia no i título:.

http://en.wikipedia.org/wiki/New_York_Yankees [Pegue a parte após wiki /]

->

http: // en.wikipedia.org/w/api.php?action=query&prop=revisions&titles=New_York_Yankees&rvprop=timestamp|user|comment|content

[Coloque-o na variável título da solicitação GET.

O URL acima pode fazer com ajustes para obter as diferentes seções que você faz ou não querem. Então leia a documentação:)

Outras dicas

As respostas aqui me ajudou a chegar a uma solução, mas eu descobri mais informações no processo que pode ser uma vantagem para os outros que acham esta pergunta. Eu acho que a maioria das pessoas simplesmente querem usar a API para obter rapidamente o conteúdo da página. Aqui está como eu estou fazendo isso:

Usando Revisões:

//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

Usando Extractos (melhor / mais fácil para o que eu estou fazendo)

//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

Todas as informações requer a leitura através da documentação da API, como foi mencionado, mas espero que estes exemplos vai ajudar a maioria das pessoas que vêm aqui para uma solução rápida.

Consulte http://www.mediawiki.org/wiki/API

Especificamente, para a Wikipedia Inglês, API está localizado na http: //en.wikipedia. org / w / api.php

Tenha um olhar para o ApiSandbox em https://en.wikipedia.org/wiki/ especial: ApiSandbox Isso é uma interface web para facilmente consulta a API . Alguns cliques vai criar-lhe a URL e mostrar-lhe o resultado API.

Isso é uma extensão para o MediaWiki, habilitado em todas as línguas da Wikipédia. https://www.mediawiki.org/wiki/Extension:ApiSandbox

Se você deseja extrair dados estruturados de Wikipedia, você pode considerar o uso de DBpedia http://dbpedia.org/

Ele fornece meios para consultar dados usando critérios dados usando dados SPARQL e retorna de analisado Wikipedia infobox modelos

Existem algumas bibliotecas SPARQL disponíveis para múltiplas plataformas para fazer consultas mais fácil

Se você deseja extrair dados estruturados da Wikipedia, você pode também tentar http://www.wikidata.org/wiki/Wikidata:Main_Page

A seguir é um exemplo de trabalho que imprime a primeira frase do Wikipedias New York Yankees de página para o seu console navegadores:

<!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 é o ponto final para o seu url. Você pode ver como estruturar sua url visitando: http://www.mediawiki.org/wiki/API:Main_page

Eu costumava jsonp como o tipo de dados para permitir solicitações de cross-site. Mais pode ser encontrado aqui: http://www.mediawiki.org/wiki/API:Cross-site_requests

Por último, mas não menos importante, certifique-se fazer referência a API jQuery.ajax (): http://api.jquery.com/jquery.ajax/

Wiki Parser convertidos Wikipedia despeja em XML. Ele também é bastante rápido. Você pode então usar qualquer ferramenta de processamento de XML para lidar com os dados dos artigos da Wikipédia analisados.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top