我刚刚设置了一个mediawiki服务器。我想从维基百科中导出数据,但默认情况下不允许pagelink_depth
高于0。您似乎只能通过设置自己的mediawiki并调整pagelink_depth
来更改最大$wgExportMaxLinkDepth
。现在我已经完成了所有这些,但显然我自己的mediawiki没有内容。所以我想知道是否有办法将所有维基百科批量复制到我自己的服务器中。从我读过的信息来看,这似乎只能用一次大约100页。如果是这种情况,特殊情况绝对是0目的:导出一般,因为在进行导出之前你需要确切地知道要导入哪些页面,这完全违背了目的。任何帮助将不胜感激。
答案 0 :(得分:3)
特殊:导出不适用于wiki的完整导出,特别是不使用Web界面和数据库中的大量页面。特殊:如果要导出包含所有内容的已知页面以将此页面(或少量页面)导入另一个Wiki,例如,则应使用导出。将模板从一个wiki导出并导入到另一个wiki中。因此,Special:Export特殊页面有一个有效的目的,但是你试图将它用于另一个用例,它不是为它开发的;)
如果要导出MediaWiki wiki的任何页面,则应使用维护脚本(可通过命令行运行)dumpBackup.php或维护中的任何其他备份脚本夹。这将确保您得到您想要的东西。
对于维基百科的案例,您无法访问这些脚本(我之前仅提及这些脚本),但维基媒体基金会提供维基媒体维基的database dumps,包括维基百科。
答案 1 :(得分:-2)
“所以我想知道是否有办法将所有维基百科批量复制到我自己的服务器中”我建议不要仅仅考虑数据的大小和数据。如果你没有实际复制所有,你将添加大量的开放链接(或“红色链接”或“坏链接”)。更好的方法是遵循所有关于维基百科的约定页面 NAMING ,到标点符号..然后编写一个脚本,每晚检查一次是否已链接到维基百科中已定义的内容,然后导入仅限该页并在导入的精确版本的顶部添加一个链接。这样你只会引入你实际引用的内容,但你的数据库可以与维基百科集成。
如果你必须支持多种语言,如西班牙语或法语,这也将非常方便,因为维基百科有链接到“另一种语言的同一篇文章”,因此至少为你翻译这些概念。