source software premise open medi wikipedia-api mediawiki-api

wikipedia-api - software - wikipedia api json



¿Cómo obtener Infobox de un artículo de Wikipedia por la API de Mediawiki? (4)

En lugar de analizar los infoboxes, que es bastante complicado, eche un vistazo a DBPedia , que tiene los infobox de Wikipedia extraídos como objetos de la base de datos.

Los artículos de Wikipedia pueden tener plantillas Infobox. Mediante la siguiente llamada, puedo obtener la primera sección de un artículo que incluye Infobox.

http://en.wikipedia.org/w/api.php?action=parse&pageid=568801&section=0&prop=wikitext

Lo que quiero es una consulta que solo devuelva datos de Infobox. es posible?


Puedes hacerlo con una llamada url a la API de Wikipedia como esta:

http://en.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&format=xmlfm&titles=Scary%20Monsters%20and%20Nice%20Sprites&rvsection=0

Reemplace los titles= sección con el título de su página, y format=xmlfm para format=json si desea que el artículo esté en formato json.



Sobre la base de la respuesta de @Garry, puede hacer que wikipedia analice el cuadro de información en html para usted a través del parámetro rvparse así:

http://en.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&format=json&titles=Scary%20Monsters%20and%20Nice%20Sprites&rvsection=0&rvparse

Tenga en cuenta que ninguno de los métodos devolverá solo el cuadro de información. Pero a partir del contenido html, puede extraer (a través de, por ejemplo, beautifulsoup) la table con infobox clase.

En Python , haces algo como lo siguiente

resp = requests.get(url).json() page_one = next(iter(resp[''query''][''pages''].values())) revisions = page_one.get(''revisions'', []) html = next(iter(revisions[0].values())) # now parse the html