如何从信息框中获取维基百科上图像的链接?
我正在解析维基百科信息框,我注意到一些信息框有图像字段 - 这些字段保存保存在维基百科某处的图像文件的名称。 然而,它们只包含文件名,而不是实际链接。
我检查了实时信息框中的图像链接,这些链接似乎不是来自一个来源,但来源各不相同。 考虑到我只有信息框条目中的图像名称,如何超链接到维基百科上的图像。
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.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
根据 Wikipedia 文件路径中命名奇怪的组件,您需要运行md5 找出 url。 现在维基百科允许热链接,因此:
如果您有utf-8编码的
$name
,您需要执行以下操作:同样可以用于缩略图。
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.
现在有一种更简单的方法可以使用 Special:FilePath 页面热链接 Wikipedia 上的文件。 因此,如果您想链接英文维基百科上的文件Example.jpg,您可以使用
https://en.wikipedia.org/wiki/Special:FilePath/Example.jpg
。类似的链接应该适用于其他维基媒体基金会网站(例如维基共享资源)。
有关热链接的详细信息和建议可以在维基媒体的 Commons:Reusing_content_outside_Wikimedia 上找到。
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.
下面是一个有效的 PHP 答案的 JavaScript 实现(归功于 Yuri Baburov):
请注意,您必须包含外部
md5()
函数 (https://github.com/blueimp/JavaScript-MD5); 它不是 JS 原生的。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.您是否尝试过
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 日更新:现在允许盗链< /a>:
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:
我注意到 URL 前缀应该是:
此外,文件夹必须包含文件的重复名称,其大小指定为前缀:
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: