Ali*_*Ali 5 php wikipedia imagesource wikimedia-commons
我正在解析维基百科的信息框,我注意到一些信息框有图像字段 - 这些字段包含维基百科藏在某处的图像文件的名称.但是它们只是包含文件的名称而不是实际的链接.
我检查了真实的实时信息框中图像的链接,链接似乎不是来自一个来源,但来源各不相同.我怎么能超链接到维基百科上的图像,因为我只有信息框条目中的图像名称.
Yur*_*rov 12
根据维基百科文件路径中奇怪命名的组件,您需要运行md5来查找URL.现在维基百科允许热链接,所以:
如果您使用utf-8编码$name
,则需要执行以下操作:
$filename = replace($name, ' ', '_');
$digest = md5($filename);
$folder = $digest[0] . '/' . $digest[0] . $digest[1] . '/' . urlencode($filename);
$url = 'http://upload.wikimedia.org/wikipedia/commons/' . $folder;
Run Code Online (Sandbox Code Playgroud)
同样可以用于缩略图.
你有没有尝试过http://en.wikipedia.org/wiki/File:filename.jpg
?即使文件位于 Wikimedia Commons 上,上述 URL 仍应有效。
编辑:您是否尝试热链接图像?如果是这样,维基百科将禁止热链接。 http://commons.wikimedia.org/wiki/Commons:Reusing_content_outside_Wikimedia#Hotlinking
2019 年 1 月 10 日更新:现在允许盗链:
热链接或 InstantCommons:通过使用 InstantCommons 设置 MediaWiki wiki,可以直接在另一个网站内的 Commons 上使用文件,...