web-dev-qa-db-fra.com

Recherche sur Wikipedia à l'aide d'une API

Je souhaite effectuer une recherche sur Wikipedia à l'aide de l'action query. J'utilise cette URL:

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

Cela fonctionne mais je veux entrer dans le premier résultat de la recherche. Comment puis je faire ça?

Note: Cette URL fonctionne bien quand il n'y a qu'un seul résultat .. J'ai juste besoin du titre et d'une courte description.

24
Muhammad Ashraf

Je ne pense pas que vous puissiez faire les deux en une seule requête.

1. Pour obtenir le premier résultat, utilisez l'API Opensearch .

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.

Cela retournera:

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

2. Vous avez maintenant le nom de l'article du premier résultat de recherche. Pour obtenir le premier paragraphe de l'article (ou la description, comme vous l'appelez), consultez ma réponse ici: https://stackoverflow.com/a/19781754/908703

44
octosquidopus

en fait, le wikipedia json api fonctionne avec une requête correcte uniquement, je vous recommande donc d’utiliser la recherche wikipedia pour explorer l’article et l’analyser avec BeautifulSoup

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

et aussi il y a module appel wikipedia fait cela pour vous

0
Jeeva