我读了MediaWiki API documentation 但我找不到如何获取当前的URL picture of the day
在RTFM之后,我调用了查询 from Commons:Potd to its page URL
返回pageid=2518149
,它是当前的POTD页面。
然后我尝试拨打prop=imageinfo
,但我找不到获取图片网址的方法。
唯一成功的电话就是:
http://commons.wikimedia.org/w/api.php?titles=File:POTD&action=query&prop=images
“成功”意味着它返回一个图片网址...但是不同的pageid
(不是当前的POTD)!
答案 0 :(得分:6)
Commons:Potd
获得任何回报,因为这只是一个重定向,但即使你从Commons:Picture of the Day
获取图片,你也只能按字母顺序获得所有图像的大量列表。
但这是一个解决方案。首先展开Potd模板以找出当前图像名称:
<api>
<expandtemplates xml:space="preserve">20110421 Tbilisi Georgia Panoramic.jpg</expandtemplates>
</api>
然后将该文件名(URL编码)插入到imageinfo的单独请求中,并使用iiprop=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>