在我的网站

时间:2015-06-11 15:55:00

标签: html wikipedia wikimedia wikimedia-dumps wikimedia-commons

所以我有一个wikimedia commons URL(它实际上只是实际图像的包装器),如下所示: https://commons.wikimedia.org/wiki/File:Nine_inch_nails_-_Staples_Center_-11-8-13(10755555065_16053de956_o).jpg

如果我转到该页面,我可以看到实际图像位于: https://upload.wikimedia.org/wikipedia/commons/thumb/5/5b/Nine_inch_nails_-_Staples_Center_-11-8-13%2810755555065_16053de956_o%29.jpg/800px-Nine_inch_nails_-_Staples_Center_-11-8-13%2810755555065_16053de956_o%29.jpg

我想获取实际文件,以便我可以在<img>标记中使用它。

我怀疑他们会给你一个url参数来返回该位置,但我找不到任何关于它的信息。

提前致谢。

编辑:

我想我找到了答案: https://commons.wikimedia.org/wiki/Commons:FAQ#What_are_the_strangely_named_components_in_file_paths.3F

上传中的奇怪路径是来自文件名MD5哈希的字母。

1 个答案:

答案 0 :(得分:1)

想出来,这是我写的一个小正确的java:

public static String convertWikimediaCommonsURLToImageUrl(String wmLink) {  

    String fileName = wmLink.split("File:")[1];

    String md5 = Hashing.md5().hashString(fileName, Charsets.UTF_8).toString();

    String weirdPathString = md5.substring(0, 1) + "/" + md5.substring(0, 2) + "/";
    String imageURL = "https://upload.wikimedia.org/wikipedia/commons/" + weirdPathString + 
            fileName;

    return imageURL;
}