2011-09-17 8 views
12

Estoy tratando de utilizar la API de Wikimedia para bienes comunes wiki en:Recuperación y la información del autor en Commons wiki

http://commons.wikimedia.org/w/api.php 

Parece que los comunes API es muy inmaduro y la pieza en su document that mentions the possibility para recuperar la licencia y la información del autor está vacía.

¿De todos modos puedo recuperar el párrafo que contiene la información sobre la licencia utilizando la API? (Por ejemplo, el párrafo bajo el título "Licensing" at this page). Por supuesto, puedo descargar toda la página e intentar analizarla, pero ¿para qué sirven las API?

Respuesta

3

Puede intentar usando Magnus Manske's Commons API tool en el Wikimedia Toolserver. No es un servicio oficial, y la documentación parece ser bastante escasa (es decir, casi inexistente), pero el XML output parece bastante autoexplicativo.

Parece que no puedo encontrar la fuente del script de Magnus en ninguna parte, pero supongo que extrae la información de licencia del archivo categories al que pertenece el archivo. Si lo desea, puede hacerlo usted mismo: simplemente busque la lista de categorías y, si es necesario, recorra el árbol de categorías hasta que encuentre un license category que reconozca. Por desgracia, la parte de caminar en el árbol requiere múltiples solicitudes API o una base de datos de categorías de Commons (ya sea acceso directo en el servidor de herramientas o una copia reconstruida del database dumps).

Sí, me doy cuenta de que esta respuesta puede parecer insatisfactoria. El hecho es que el guión de Magnus parece ser lo más cercano a lo que se desea actualmente, e incluso está marcado como experimental e incompleto. Básicamente, este es un problema a la espera de que alguien implemente una (mejor) solución.

+0

Parece que la herramienta está inactiva, ¿alguien puede confirmarlo? – user5950

+0

@ user5950: Sí, parece estar mal para mí también. –

+0

Entonces, si alguien se entera de una buena alternativa, ¡por favor háganoslo saber! – user5950

1

He usado Magnus' Commons API tool. No está diseñado para que solo se incluya en un proyecto, pero si copia el origen de la página wiki que llama y lo almacena en la memoria caché localmente, luego puede mover la lógica a una clase para que sea más fácilmente exigible. Here's the source for Magnus' version. Si quieres la clase que he creado, avísame y la desenterraré.

-3

ver página: http://www.mediawiki.org/wiki/API:Meta

puede utilizar una imagen foreach la etiqueta 'meta = siteinfo' y la etiqueta 'siprop = rightsinfo' (siprop es el puntal de la siteinfo) Entonces verá el rightsinfo de la imagen.

En el caso de Brad Pitt sería:

http://en.wikipedia.org/w/api.php?format=jsonfm&action=query&titles=File:Brad_Pitt_at_Incirlik2.jpg&prop=imageinfo&iiprop=url&meta=siteinfo&siprop=rightsinfo

+0

Esto no es correcto. 'siteinfo' brinda información sobre el sitio, no la imagen. Por ejemplo, si mira la página de [Archivo: Flag_of_the_United_Kingdom.svg] (http://en.wikipedia.org/wiki/File:Flag_of_the_United_Kingdom.svg), verá que tiene licencia como Public Domain. Sin embargo, el uso de este archivo en la consulta que usted proporciona muestra que la página (no la imagen) tiene licencia Creative Commons. No da información sobre la imagen. – ishmael

+0

OK, ellos estoy equivocado. – Bvbever

+0

Bvbever es correcto, esto no funciona para las imágenes. –

1

De http://www.mediawiki.org/wiki/API_talk:Main_page#Image_license_information ¿Hay una manera de conseguir la licencia de una imagen a través de la API? Por categoría es probablemente más fácil, suponiendo que el sitio categoriza por licencia. No hay un módulo incorporado para la información de la licencia. Splarka 08:45, 22 de enero de 2010 (UTC)

Sin embargo, me parece que el uso de categorías no devuelve nada para muchas imágenes a pesar de que tienen una licencia especificada. Quizás la mejor manera es analizar el html renderizado de la página de imágenes.

13

respuesta tardía pero puede solicitar los datos "extmetadata" con la siguiente consulta:

http://en.wikipedia.org/w/api.php?action=query&prop=imageinfo&iiprop=extmetadata&titles=File%3aBrad_Pitt_at_Incirlik2.jpg&format=json

mirar debajo de imageinfo.extmetadata.Términos de uso, artista, crédito, etc.

+2

Esta es la respuesta correcta. Use el formato jsonfm para una fácil verificación: http://en.wikipedia.org/w/api.php?action=query&prop=imageinfo&iiprop=extmetadata&titles=File%3aBrad_Pitt_at_Incirlik2.jpg&format=jsonfm –

Cuestiones relacionadas