webentwicklung-frage-antwort-db.com.de

Wie benutze ich Wikipedia API, wenn es existiert?

Ich versuche herauszufinden, ob es eine Wikipedia-API gibt.

Wenn ja, würde ich gerne wissen, wie ich Wikipedia sagen würde, um mir zum Beispiel einen Artikel über die New York Yankees zu geben.

Was wäre die REST url für dieses Beispiel?

Alle Dokumente zu diesem Thema scheinen ziemlich kompliziert zu sein.

61
chris

Sie müssen wirklich einige Zeit damit verbringen, die Dokumentation zu lesen, da ich einen Moment gebraucht habe, um sie zu überprüfen und auf den Link zu klicken, um sie zu reparieren. :/Aber aus Sympathie werde ich dir einen Link geben, den du vielleicht lernen kannst zu benutzen.

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

Das ist die Variable, nach der Sie suchen werden. Ihre beste Wette ist es, die Seite zu kennen, nach der Sie suchen, und den Wikipedia-Link-Teil in den Titel zu ersetzen, d. H .:

http://de.wikipedia.org/wiki/New_York_Yankees [Nimm die Rolle nach dem Wiki /]

->

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

[Setzen Sie es in die Titelvariable der GET-Anfrage.

Die obige URL kann mit dem Optimieren der verschiedenen Abschnitte, die Sie tun oder nicht wollen, fertig werden. Also lies die Dokumentation :)

81
Shadi Almosri

Die Antworten hier haben mir geholfen, eine Lösung zu finden, aber ich habe dabei weitere Informationen entdeckt, die für andere, die diese Frage finden, von Vorteil sein können. Ich nehme an, die meisten Leute möchten einfach die API verwenden, um Inhalte schnell von der Seite zu entfernen. So mache ich das:

Verwenden von Revisionen:

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

Verwenden von Extrakten (besser/einfacher für das, was ich tue)

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

Wie bereits erwähnt, müssen alle Informationen in der API-Dokumentation nachgelesen werden. Ich hoffe, dass diese Beispiele der Mehrheit der Leute helfen, die hierher kommen, um eine schnelle Lösung zu finden.

66
Andy Groff

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

Für die englische Wikipedia befindet sich die API unter http://en.wikipedia.org/w/api.php

13
drdaeman

Werfen Sie einen Blick auf die ApiSandbox unter https://en.wikipedia.org/wiki/Special:ApiSandbox Dies ist ein Web-Frontend, um die [~ # ~] api [~] abzufragen # ~] . Mit wenigen Klicks können Sie die URL erstellen und das API-Ergebnis anzeigen.

Dies ist eine Erweiterung für MediaWiki, die für alle Wikipedia-Sprachen aktiviert ist. https://www.mediawiki.org/wiki/Extension:ApiSandbox

Wenn Sie strukturierte Daten aus Wikipedia extrahieren möchten, können Sie DbPedia http://dbpedia.org/ verwenden

Es bietet die Möglichkeit, Daten mithilfe von SPARQL nach bestimmten Kriterien abzufragen, und gibt Daten aus geparsten Wikipedia-Infobox-Vorlagen zurück

Es gibt einige SPARQL-Bibliotheken für mehrere Plattformen, um Abfragen zu vereinfachen

8
Maksym Kozlenko

Wenn Sie strukturierte Daten aus Wikipedia extrahieren möchten, können Sie auch http://www.wikidata.org/wiki/Wikidata:Main_Page versuchen

3
brian.clear

Unten sehen Sie ein Arbeitsbeispiel, das den ersten Satz der Wikipedias New York Yankees -Seite auf der Konsole Ihres Webbrowsers ausgibt:

<!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 ist der Endpunkt für Ihre URL. Informationen zum Strukturieren Ihrer URL finden Sie unter: http://www.mediawiki.org/wiki/API:Main_page

Ich habe jsonp als Datentyp verwendet, um standortübergreifende Anforderungen zuzulassen. Weitere finden Sie hier: http://www.mediawiki.org/wiki/API:Cross-site_requests

Stellen Sie außerdem sicher, dass Sie auf die Jquery.ajax () - API verweisen: http://api.jquery.com/jquery.ajax/

2
JSON C11

Wiki Parser konvertiert Wikipedia-Dumps in XML. Es ist auch ziemlich schnell. Sie können dann ein beliebiges XML-Verarbeitungswerkzeug verwenden, um die Daten aus den analysierten Wikipedia-Artikeln zu verarbeiten.

1
PlinyTheElder