Mas*_*imo 5 mediawiki-api wikimedia-commons
我阅读了MediaWiki API文档 但我找不到如何获取当天图片的当前URL .
在RTFM之后,我将Commons:Potd中的查询调用 到其页面URL.
它返回pageid=2518149,它是当前的POTD页面.
然后我尝试打电话prop=imageinfo,但我找不到获取图片网址的方法.
唯一成功的电话是这样的:
http://commons.wikimedia.org/w/api.php?titles=File:POTD&action=query&prop=images
"成功"意味着它返回一个图像URL ...但是不同pageid(不是当前的POTD)!
嗯,这不是很容易.你没有得到任何回报,Commons:Potd因为这只是一个重定向,但即使你从中获取图像Commons:Picture of the Day,你只需按字母顺序获得所有图像的大量列表.
但这是一个解决方案.首先展开Potd模板以找出当前图像名称:
<api>
<expandtemplates xml:space="preserve">20110421 Tbilisi Georgia Panoramic.jpg</expandtemplates>
</api>
Run Code Online (Sandbox Code Playgroud)
然后将该文件名(URL编码)插入到imageinfo的单独请求中,iiprop=url以获取URL:
它就是!
可以使用url属性的值检索图片文件本身:
<api>
<query>
<normalized>
<n from="Image:20110421 Tbilisi Georgia Panoramic.jpg" to="File:20110421 Tbilisi Georgia Panoramic.jpg" />
</normalized>
<pages>
<page pageid="15527584" ns="6" title="File:20110421 Tbilisi Georgia Panoramic.jpg" imagerepository="local">
<imageinfo>
<ii url="http://upload.wikimedia.org/wikipedia/commons/a/ae/20110421_Tbilisi_Georgia_Panoramic.jpg" descriptionurl="http://commons.wikimedia.org/wiki/File:20110421_Tbilisi_Georgia_Panoramic.jpg" />
</imageinfo>
</page>
</pages>
</query>
</api>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
934 次 |
| 最近记录: |