2010-11-30 54 views
2

J'essaie de télécharger des images à partir de pages MediaWiki spécifiques (ou seulement des images spécifiques) en utilisant un script PHP.Détermination par programme de l'URL d'une image MediaWiki

je peux exécuter une requête par l'api, en récupérant la page à l'adresse suivante

.../w/action=query&prop=images&titles=Abakanskiy 

et obtenir une réponse

<?xml version="1.0"?> 
<api> 
    <query> 
    <pages> 
     <page pageid="260" ns="0" title="Abakanskiy"> 
     <images> 
      <im ns="6" title="File:Abakanskiy.jpg" /> 
     </images> 
     </page> 
    </pages> 
    </query> 
</api> 

Jusqu'à présent, si bon.

Maintenant, peu importe ce que je l'ai fait avec la requête, je ne l'ai pas compris comment je peux construire, ou récupérer l'URL réelle de l'image - dans ce cas, il est

.../w/images/3/38/Abakanskiy.jpg 

Am I manque quelque chose d'évident? Je réalise qu'il existe une solution naïve - obtenir la source de la page contenant l'image, l'analyser pour l'étiquette, puis obtenir l'image de l'URL spécifiée - mais si possible, je préfère utiliser le API

Toute aide serait appréciée!

Répondre

7

Une fois que vous avez les noms des pages d'images, vous pouvez le faire:

action=query&prop=imageinfo&iiprop=url&titles=File:Foo.jpg|File:Bar.jpg 

pour obtenir les URL des images réelles.

+0

Fantastique - fonctionne comme un charme! – Vladislav