我正在尝试使用PHP脚本从特定的MediaWiki页面(或只是特定的图像)下载图像。
我可以通过api运行查询,方法是检索以下URL中的页面
.../w/action=query&prop=images&titles=Abakanskiy
并获得回复
<?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>
到目前为止,非常好。
现在,无论我对查询做了什么,我都没有想出如何构建或检索图像的实际URL - 在这种情况下,它是
.../w/images/3/38/Abakanskiy.jpg
我错过了一些明显的东西吗?
我意识到存在一个天真的解决方案 - 获取包含图像的页面源,为标记解析它,然后从指定的URL获取图像 - 但是,如果可能的话,我宁愿使用API
任何帮助将不胜感激!
答案 0 :(得分:7)
获得图像页面的名称后,即可执行以下操作:
action=query&prop=imageinfo&iiprop=url&titles=File:Foo.jpg|File:Bar.jpg
获取实际图片的网址。