Zugriff auf das Hauptbild der Wikipedia-Seite nach API
Gibt es eine Möglichkeit, ich kann auf das thumbnail-Bild von jeder wikipedia-Seite mit einer API? Ich meine das Bild oben auf der rechten Seite in der box. Gibt es da irgendwelche APIs?
InformationsquelleAutor der Frage insomiac | 2011-12-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
http://en.wikipedia.org/w/api.php
Blick auf
prop=images
.Gibt es ein array von Dateinamen, die verwendet werden, in der analysierten Seite. Sie haben dann die Möglichkeit, einen weiteren API-Aufruf, um herauszufinden, die vollständige Bild-URL, z.B.:
action=query&titles=Image:INSERT_EXAMPLE_FILE_NAME_HERE.jpg&prop=imageinfo&iiprop=url
oder berechnen Sie die URL, über die mit der hash -.
Leider, während das array von Bildern zurückgegeben
prop=images
ist in der Reihenfolge sind auf der Seite zu finden, die erste kann nicht garantiert werden, dass das Bild in der info-box da mal eine Seite enthält ein Bild, bevor die infobox (die meisten der Zeit-icons für Metadaten über die Seite an: z.B. "dieser Artikel ist gesperrt").Suchen Sie das array von Bildern für das erste Bild enthält den Titel der Seite ist wohl die beste Schätzung für die infobox-Bild.
InformationsquelleAutor der Antwort varatis
Können Sie die Miniaturansicht von jeder wikipedia-Seite mit
prop=pageimages
. Zum Beispiel:Und erhalten Sie das thumbnail, die volle URL.
InformationsquelleAutor der Antwort Assaf Shemesh
Dies ist guter Weg, um die Haupt-Bild einer Seite in wikipedia
http://en.wikipedia.org/w/api.php?action=query&prop=pageimages&format=json&piprop=original&titles=India
InformationsquelleAutor der Antwort Anuraj
Weg 1: Sie können versuchen, einige Abfrage wie diese:
in der Antwort, die Sie sehen können, die
Image
tag.Möglichkeit 2: verwenden von query http://en.wikipedia.org/w/index.php?action=render&Titel=Italien
dann kannst du einen reinen html-code, Sie können das Bild verwenden, so etwas wie
PHP Simple HTML DOM Parser
http://simplehtmldom.sourceforge.net
Ich habe keine Zeit, Schreibe es dir. nur geben Ihnen einige Ratschläge, danke.
InformationsquelleAutor der Antwort Giberno
Tut mir Leid für die Beantwortung nicht speziell deine Frage nach der main Bild. Aber hier ist etwas code, um eine Liste aller Bilder:
Ich habe dies für http://en.wikipedia.org/wiki/Saturn_%28mythology%29:
Und für die zweite URL (http://en.wikipedia.org/wiki/Hans-Ulrich_Rudel):
Beachten Sie, dass die URL ein wenig geändert, die auf das 6. element des zweiten Arrays. Es ist das, was @JosephJaber warnte in seinem Kommentar oben.
Hoffe, das jemand hilft.
InformationsquelleAutor der Antwort Óscar Palacios
Check-out die MediaWiki-API-Beispiel für immer das Bild von einer wikipedia-Seite: https://www.mediawiki.org/wiki/API:Page_info_in_search_results.
Andere erwähnt haben, würden Sie verwenden
prop=pageimages
in der API-Abfrage.Wenn Sie wollen auch die Beschreibung des Bildes, die Sie verwenden würden
prop=pageimages|pageterms
statt in der API-Abfrage.Können Sie das ursprüngliche Bild mit
piprop=original
. Oder Sie können ein thumbnail-Bild mit einer angegebenen Breite/Höhe. Für ein Vorschaubild mit width/height=600,piprop=thumbnail&pithumbsize=600
. Wenn du weglassen, entweder, kehrte das Bild in der API-callback wird standardmäßig eine thumbnail mit einer Breite/Höhe von 50px.Wenn Sie ersuchenden Ergebnisse im JSON-format, sollten Sie immer
formatversion=2
in der API-Abfrage (D. H.,format=json&formatversion=2
), denn es macht das abrufen des Bild von der Abfrage einfacher.Originalgröße Bild:
Thumbnail-Größe (600px Breite/Höhe) Bild:
InformationsquelleAutor der Antwort kimbaudi
Ich geschrieben habe einige code, der bekommt Hauptbild (vollständige URL) Wikipedia-Artikel-Titel. Es ist nicht perfekt, aber insgesamt bin ich sehr zufrieden mit den Ergebnissen.
War die Herausforderung, dass bei der Abfrage nach einem bestimmten Titel, Wikipedia gibt mehrere image-Dateinamen (ohne Pfad). Darüber hinaus die sekundäre Suche (ich habe den code varatis gepostet in diesem thread - danke!) gibt URLs aller Bilder gefunden auf Grundlage der image-Dateiname, der gesucht wurde, unabhängig von der ursprünglichen Titel des Artikels. Nach all dem, können wir am Ende mit einem generischen image irrelevant für die Suche, damit wir filtern diese heraus. Der code iteriert über die Dateinamen und URLs, bis er Sie findet (hoffentlich ist der beste) Spiel... ein bisschen kompliziert, aber es funktioniert 🙂
Hinweis auf den generischen filter: ich habe die Erstellung einer Liste von generischen image-Zeichenfolgen für die isGeneric () - Funktion, aber die Liste wächst. Ich überlege die Aufrechterhaltung einer öffentlichen Liste - wenn Interesse bestehen lasst es mich wissen.
Pre:
Main-Funktion - Bild-URL aus Titel:
== Die folgenden Funktionen werden aufgerufen, indem Sie die main-Funktion oben ==
Bekommen JSON-Objekt (Dateinamen) mit dem Titel:
Bekommen JSON-Objekt (URLs) mit dem Namen:
Herausfiltern generische Bilder:
Kommentare willkommen.
InformationsquelleAutor der Antwort vanwinter
Ich es gibt einen Weg, um zuverlässig erhalten ein Hauptbild für eine wikipedia-Seite - die Erweiterung namens PageImages
https://www.mediawiki.org/wiki/Extension:PageImages
Fügen Sie einfach den prop pageimages, um Ihre API-Abfrage:
Diese zuverlässig filtert lästige Standard-Bilder und verhindert, dass Sie von dem filter selbst! Die Erweiterung wird installiert auf allen wikipedia-Seiten...
InformationsquelleAutor der Antwort Paul Weber
Sehen dies betraf die Frage nach einer API für Wikipedia. Allerdings möchte ich nicht wissen, ob es möglich ist, zum abrufen der thumbnail-Bild über eine API.
Können Sie auch prüfen, nur das Parsen der web-Seite finden Sie die Bild-URL, und das Bild abgerufen, das Weise.
InformationsquelleAutor der Antwort The Nail
Hier ist meine Liste von XPath-Ausdrücken, die ich gefunden habe funktioniert für 95 Prozent der Artikel. die wichtigsten sind 1, 2 3 und 4. Viele Artikel sind nicht richtig formatiert und würden diese Grenzfälle:
Können Sie einen DOM Parsen lib zu Holen Bild mit Hilfe der XPath -.
Habe ich eine ObjC-wrapper aufgerufen Hpple um libxml2.2 ziehen Sie die Bild-url. Hoffe, das hilft
InformationsquelleAutor der Antwort Vlad
Denke ich nicht, aber Sie erfassen Sie das Bild mit einer link-parser HTML-Dokumente
InformationsquelleAutor der Antwort
Wie Anuraj erwähnt, die pageimages parameter ist. Blick auf die folgende url, bringe über einige nette Sachen:
Ihr sind einige interessante Parameter:
Beschreibung Sie verwenden können. (exsentences ist die Anzahl der Sätze, die Sie einschließen möchten, in den Auszug)
InformationsquelleAutor der Antwort netfed