Ad verba per numeros

Servicios y Utilidades
Thursday, May 22, 2008, 09:16 AM
Carlos Tejo me ha informado acerca de la existencia de un API para consumir la Wikipedia; esto es algo que para algunos de vosotros hubiese sido 煤til y para otros muchos todav铆a puede serlo. Mi recomendaci贸n es que le ech茅is un vistazo y la utilic茅is all铆 donde os sea posible.

Muestro a continuaci贸n un ejemplo sencillo relativo al problema de asociar con un contenido distintas cadenas que pueden ser o no sin贸nimas y que ilustra el modo en que se puede obtener informaci贸n para m煤ltiples art铆culos simultaneamente.

http://en.wikipedia.org/w/api.php?action=query&titles=Pablo%20Picasso|Picasso|FDR|Franklin%20Roosevelt|Franklin%20Delano|Franklin%20Delano%20Roosevelt&prop=info&redirects&format=xml
El resultado en formato XML:
<?xml version="1.0" encoding="utf-8"?>
<api>
<query>
<redirects>
<r from="Picasso" to="Pablo Picasso" />
<r from="FDR" to="Franklin D. Roosevelt" />
<r from="Franklin Roosevelt" to="Franklin D. Roosevelt" />
<r from="Franklin Delano Roosevelt" to="Franklin D. Roosevelt" />
</redirects>
<pages>
<page ns="0" title="Franklin Delano" missing="" />
<page pageid="24176" ns="0" title="Pablo Picasso" touched="2008-05-20T02:15:17Z" lastrevid="213614540" counter="2038" length="35635" />
<page pageid="10979" ns="0" title="Franklin D. Roosevelt" touched="2008-05-22T03:27:45Z" lastrevid="214109266" counter="8338" length="118306" />
</pages>
</query>
</api>
La salida se puede obtener en m煤ltiples formatos, entre ellos PHP serializado.

Otros cuantos ejemplos: c贸mo obtener la lista de im谩genes de un art铆culo, la informaci贸n relativa a una serie de im谩genes y las p谩ginas pertenecientes a una categor铆a dada:

http://en.wikipedia.org/w/api.php?action=query&prop=images&titles=Einstein&redirects&format=xml
<?xml version="1.0" encoding="utf-8"?>
<api>
<query>
<redirects>
<r from="Einstein" to="Albert Einstein" />
</redirects>
<pages>
<page pageid="736" ns="0" title="Albert Einstein">
<images>
<im ns="6" title="Image:1919 eclipse positive.jpg" />
<im ns="6" title="Image:Albert Einstein Head.jpg" />
<im ns="6" title="Image:Albert Einstein as a child.jpg" />
...
<im ns="6" title="Image:Wikisource-logo.svg" />
<im ns="6" title="Image:Wikiversity-logo-Snorky.svg" />
<im ns="6" title="Image:Wiktionary-logo-en.png" />
</images>
</page>
</pages>
</query>
</api>
http://en.wikipedia.org/w/api.php?action=query&titles=Image:Albert%20Einstein%20Head.jpg|Image:Albert%20Einstein%20as%20a%20child.jpg|Image:Albert%20Einstein%20german.ogg|Image:Albert%20Einstein%20photo%201921.jpg|Image:Albert%20Einstein%20signature.png|Image:Max-Planck-und-Albert-Einstein.jpg|Image:Niels%20Bohr%20Albert%20Einstein%20by%20Ehrenfest.jpg|Image:Max-Planck-und-Albert-Einstein.jpg|Image:Niels%20Bohr%20Albert%20Einstein%20by%20Ehrenfest.jpg&prop=imageinfo&iiprop=size&format=xml
<?xml version="1.0" encoding="utf-8"?>
<api>
<query>
<pages>
<page ns="6" title="Image:Albert Einstein Head.jpg" missing="" imagerepository="shared">
<imageinfo>
<ii size="462857" width="924" height="1203" />
</imageinfo>
</page>
...
<page pageid="5769703" ns="6" title="Image:Albert Einstein german.ogg" imagerepository="local">
<imageinfo>
<ii size="18305" width="0" height="0" />
</imageinfo>
</page>
</pages>
</query>
</api>
http://en.wikipedia.org/w/api.php?action=query&list=categorymembers&cmtitle=Category:Visitor%20attractions%20in%20London&cmlimit=500&format=xml
<?xml version="1.0" encoding="utf-8"?>
<api>
<query>
<categorymembers>
<cm pageid="413532" ns="0" title="Albertopolis" />
<cm pageid="533127" ns="0" title="London Astoria" />
<cm pageid="2730202" ns="0" title="Avenue of Stars, London" />
...
<cm pageid="4842720" ns="0" title="White Tower (Tower of London)" />
<cm pageid="3542585" ns="14" title="Category:World Heritage Sites in London" />
<cm pageid="11378726" ns="0" title="York Hall" />
</categorymembers>
</query>
</api>
Hay cosas no obstante que, hasta donde he visto, no se pueden hacer con el API. Por ejemplo, es posible obtener los art铆culos enlazados desde uno dado pero no extraer el texto empleado en los enlaces (cosa que era importante para nosotros).


Back Next