将文章直接插入MediaWiki数据库

时间:2009-07-07 20:56:46

标签: sql database wiki mediawiki wikipedia

我需要一种方法将新文章直接插入我的MediaWiki数据库,而不会损坏wiki安装。

我猜我是否知道MediaWiki在创建新文章时会插入哪些表/属性,然后我可以自己填写它们。

有没有人知道更好的方法或有任何建议?

6 个答案:

答案 0 :(得分:5)

我是Bulk Page Creator的作者,很高兴看到它仍在使用!!!

我最新的MediaWiki导入工具可以从CSV数据文件和页面模板创建页面。它按照Adrian的建议生成Mediawiki XML导入文件。

检查出来

Mediawiki CSV Import

答案 1 :(得分:4)

在MediaWiki可用的许多机器人和API中,一个简单的起点是MediaWiki Bulk Page creator

这是一个简单的PHP脚本,依赖于Snoopy类库,可以从简单的文本格式创建多个页面。

开始之前,请务必先阅读Creating a Bot。它包含有关如何设置对wiki的bot访问权限的重要细节。

答案 2 :(得分:2)

当然你不想直接写入数据库。您可能希望创建一个扩展,将RSS中的选定项目作为输入,并使用Article::doEdit()为每个项目创建一个wiki文章。

答案 3 :(得分:2)

你应该用机器人做这件事。机器人可以独立运行,但如果您正在与其他代码集成,则可能需要根据语言进行选择。对于PHP,有MediaWiki Bulk Page Creator。对于Python,pymediawiki附带Pagefromfile

Yaron Koren还有一个名为External Data的扩展程序,用于解决相关任务。它允许您将来自外部源的数据合并到您的Wiki页面中。您可以从CSV,XML或JSON中提取特定元素 - 从URL,本地文件或数据库中检索。

答案 4 :(得分:1)

为什么需要这样做?

  • 如果您尝试从以前的Wiki安装中迁移数据,则已存在导入和导出工具。
  • 如果您希望自动添加大量预先格式化的页面,MediaWiki API提供了比直接使用数据库更安全的路径。

答案 5 :(得分:1)

使用Special:Export

导出页面

使用Special:Import导入页面。请注意,您必须让'import'user right能够导入。