I'm parsing wikipedia infoboxes and I noticed that some infoboxes have image fields - these fields hold names of image files stashed on wikipedia somewhere. However they just contain the name of the file as is as opposed to the actual link.
I checked the links of the images on real live infoboxes and the links do not seem to be from one source but the sources vary. How can I hyperlink to an image on wikipedia considering I only have the name of the image from an infobox entry.
According to What are the strangely named components in Wikipedia file paths, you need to run md5 to find out url. Now wikipedia allows hotlinking, so:
If you have utf-8 encoded
$name
, you need to do the following:The same can be used for thumbnails.
Have you tried
http://en.wikipedia.org/wiki/File:filename.jpg
? Even if the files are located on Wikimedia Commons, the above URL should still work.Edit: Are you trying to hotlink the image? If so, Wikipedia prohibits hotlinking. http://commons.wikimedia.org/wiki/Commons:Reusing_content_outside_Wikimedia#Hotlinking
Update 10-Jan-2019: Hotlinking is now permitted:
Here is a JavaScript implementation of a working PHP answer (credits to Yuri Baburov):
Note that you must include external
md5()
function (https://github.com/blueimp/JavaScript-MD5); it is not native to JS.I noticed that the URL prefix should be:
Moreover the folder must contain the repeated name of the file with a size specified as prefix:
There is now a simpler way to hotlink the files on Wikipedia using the Special:FilePath page. Hence, if you want to link the file Example.jpg on English Wikipedia, you can use
https://en.wikipedia.org/wiki/Special:FilePath/Example.jpg
.Similar links should work for other Wikimedia Foundation sites (e. g. Wikimedia Commons).
Details and recommendations regarding hotlinking can be found on Wikimedia's Commons:Reusing_content_outside_Wikimedia.