¿Cómo obtener Infobox de un artículo de Wikipedia de Mediawiki API?

Los artículos de Wikipedia pueden tener plantillas de Infobox. Con 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 a la API de Wikipedia de esta manera:

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

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

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

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

 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 (por ejemplo, beautifulsoup) la table con clase infobox .

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 

Si la página tiene un cuadro de información del lado derecho, entonces use esta URL para obtenerla en formato de texto. Mi ejemplo es usar el elemento Hidrógeno. Todo lo que necesita hacer es reemplazar “Hidrógeno” con su título.

https://en.wikipedia.org/w/index.php?action=raw&title=Template:Infobox%20hydrogen

Si busca el formato JSON, use esta URL, pero no es bonita.

https://en.wikipedia.org/w/api.php?action=parse&page=Template:Infobox%20hydrogen&format=json

    Intereting Posts