MediaWiki 将文件数据存储在两个或三个位置,具体取决于您的计数方式:
当前文件版本的实际元数据存储在image
表中。这可能是您主要想要的;你会在这里找到它的最新 en.wikipedia 转储。
旧被取代文件修订的数据被移动到oldimage
表中,该表与表具有基本相同的结构image
。这张桌子也被倾倒了,最新的一张在这里。
最后,每个文件也(通常)对应于命名空间 6 ( ) 中的一个非常普通的 wiki 页面File:
。您将在 XML 转储中找到这些文本,与任何其他页面相同。
哦,您在英文维基百科转储中找不到链接到的那些文件的原因是它们来自 Wikimedia Commons 的共享存储库。您将在Commons 数据转储中找到它们。
至于下载实际文件,这里是(显然)官方文档。 据我所知,他们所说的“批量下载目前(截至 2012 年 9 月)可以从镜像中获得,但不能直接从 Wikimedia 服务器提供。 ”就是如果你想要一个 tarball 中的所有图像,你将拥有使用镜子。如果您只是从维基百科和/或共享资源上的数百万图像中提取相对较小的一部分,那么直接使用维基媒体服务器应该没问题。
只需记住基本礼貌:发送一个用户代理字符串来标识您自己,并且不要对服务器施加太大压力。特别是,我建议您按顺序运行下载,这样您只有在完成前一个文件后才开始下载下一个文件。无论如何,这不仅比并行下载更容易实现,而且它确保您不会占用超过您的带宽份额,并允许下载速度或多或少地自动适应服务器负载。
附言。无论您是从镜像下载文件还是直接从 Wikimedia 服务器下载文件,您都需要确定它们位于哪个目录。典型的 Wikipedia 文件 URL 如下所示:
http://upload.wikimedia.org/wikipedia/en/a/ab/File_name.jpg
其中“ wikipedia/en
”部分标识维基媒体项目和语言(出于历史原因,Commons 被列为“ wikipedia/commons
”),“ a/ab
”部分由 UTF-8 中文件名的 MD5 哈希的前两个十六进制数字给出(因为它们'在数据库转储中编码)。