gpt4 book ai didi

mediawiki-api - 维基百科 API : Cannot query Picture of the Day URL

转载 作者:行者123 更新时间:2023-12-04 18:49:02 24 4
gpt4 key购买 nike

我读了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

“成功”意味着它返回一个图像 URL ...但不同的 pageid (不是当前的 POTD)!

最佳答案

嗯,这不是很容易。你没有从 Commons:Potd 得到任何返回因为这只是一个重定向,但即使您从 Commons:Picture of the Day 获取图像,您只需按字母顺序获得所有图像的巨大列表。

但这里有一个解决方案。首先展开 Potd 模板找出当前镜像名称:

http://commons.wikimedia.org/w/api.php?action=expandtemplates&text={{Potd/{{CURRENTYEAR}}-{{CURRENTMONTH}}-{{CURRENTDAY2}}}}

<api>
<expandtemplates xml:space="preserve">20110421 Tbilisi Georgia Panoramic.jpg</expandtemplates>
</api>

然后将该文件名(URL 编码)插入到对 imageinfo 的单独请求中,使用 iiprop=url获取网址:

http://commons.wikimedia.org/w/api.php?titles=Image:20110421%20Tbilisi%20Georgia%20Panoramic.jpg&action=query&prop=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>

关于mediawiki-api - 维基百科 API : Cannot query Picture of the Day URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9084442/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com