Kri*_*pak 3 php mediawiki wikimedia
我需要获取任何给定 wiki 页面中的第一张图像/主图像。我可以使用抓取工具来做到这一点。但我正在使用curl 来废弃一页。但可能是由于互联网连接速度较慢,仅废弃一个维基页面就需要很长时间。除此之外,我需要根据用户的查询同时显示至少 7-8 个不同的 wiki 图像。
所以使用curl 来实现这一点是没有意义的。我尝试了维基 API
https://en.wikipedia.org/w/api.php?action=query&titles=India&prop=images&imlimit=1
Run Code Online (Sandbox Code Playgroud)
但我无法提供其他参数来对该列表进行排序。通常,此 api 返回的第一张图像不是您在页面顶部看到的主图像。有时图像距离页面上下文太远。
我只需要为每个 wiki 标题显示一张图像。提前致谢。
要经常对“主图像”进行很好的猜测,请使用prop=pageimages由MediaWiki 扩展“ PageImages ”提供的:
PageImages 扩展收集有关页面上使用的图像的信息。
其目的是返回与文章相关的单个最合适的缩略图,尝试仅返回有意义的图像,例如,不返回来自维护模板、存根或标志图标的图像。目前它使用页面中使用的第一个无意义的图像。
(文本为cc-by-sa 3.0;作者列表)
返回有关页面上图像的信息,例如缩略图和
照片的存在。
参数:
吡丙啉
返回哪些信息:
缩略图
与页面关联的图像的 URL 和尺寸(如果有)。
姓名
图片标题。
值(用“|”分隔):缩略图、名称
默认值:缩略图|名称
拇指大小
最大缩略图尺寸。
默认值:50
皮利米特
返回多少页的属性。
不允许超过 50 个(机器人 100 个)。
默认值:1
皮继续
当有更多结果可用时,请使用它继续。
https://en.wikipedia.org/w/api.php?action=query&titles=India&prop=pageimages&pithumbsize=300
返回值:
{
"query": {
"pages": {
"14533": {
"pageid": 14533,
"ns": 0,
"title": "India",
"thumbnail": {
"source": "https://upload.wikimedia.org/wikipedia/commons/thumb/b/b8/Political_map_of_India_EN.svg/256px-Political_map_of_India_EN.svg.png",
"width": 256,
"height": 300
},
"pageimage": "Political_map_of_India_EN.svg"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
更多示例: