it-swarm.com.de

Wikipedia mit Hilfe der API durchsuchen

Ich möchte Wikipedia mit der Aktion query durchsuchen. Ich verwende diese URL:

http://en.wikipedia.org/w/api.php?action=query&format=json&list=search&srsearch=Apple

Das funktioniert, aber ich möchte zum ersten Ergebnis der Suche gelangen. Wie kann ich das machen?

Hinweis: Diese URL funktioniert gut, wenn nur ein Ergebnis vorliegt ... Ich brauche nur den Titel und eine kurze Beschreibung.

24
Muhammad Ashraf

Ich glaube nicht, dass Sie beides in einer Abfrage tun können.

1. Um das erste Ergebnis zu erhalten, verwenden Sie die Opensearch API .

https://en.wikipedia.org/w/api.php?action=opensearch&search=zyz&limit=1&namespace=0&format=jsonfm

https://en.wikipedia.org/w/api.php
?action=opensearch
&search=zyz          # search query
&limit=1             # return only the first result
&namespace=0         # search only articles, ignoring Talk, Mediawiki, etc.
&format=json         # jsonfm prints the JSON in HTML for debugging.

Dies wird zurückkehren:

[
    "Zyz",
    [
        "Zyzomys"
    ],
    [
        ""
    ],
    [
        "https://en.wikipedia.org/wiki/Zyzomys"
    ]
]

2. Sie haben jetzt den Artikelnamen des ersten Suchergebnisses. Um das erste Paragram des Artikels (oder eine Beschreibung, wie Sie es nennen) zu erhalten, finden Sie meine Antwort hier: https://stackoverflow.com/a/19781754/908703

44
octosquidopus

eigentlich funktioniert die wikipedia json-api nur mit einer richtigen abfrage, daher empfehle ich, die wikipedia-suche zu verwenden und den eigentlichen artikel zu crawlen und ihn mit BeautifulSoup zu analysieren

https://en.wikipedia.org/w/index.php?search=QUERY&title=Special:Search&fulltext=Search

und es gibt auch einen modulaufruf, wikipedia erledigt dies für sie

0
Jeeva