export - 如何从 MediaWiki 的所有页面导出文本?

标签 export mediawiki

我有一个 MediaWiki 正在运行,它代表了一本德语术语词典及其对本地方言的翻译。每页包含一个术语、它的翻译和一些附加信息。

现在,对于字典的可打印版本,我需要完整导出所有术语及其翻译。由于这是页面内容的摘录,我想我需要以可解析格式完整导出最新版本的所有页面,例如xml 或 csv。

有没有人做过或者可以指点我一个工具?
我应该提到,我没有对服务器的完全访问权限,例如没有命令行,但我可以添加 MediaWiki 扩展或访问 MySQL 数据库。

最佳答案

您可以直接从数据库中导出页面内容。它将是原始 wiki 标记,就像使用 Special:Export 时一样。但是编写导出脚本会更容易,并且您无需确保所有页面都属于某个特殊类别。

下面是一个例子:

SELECT page_title, page_touched, old_text
FROM revision,page,text
WHERE revision.rev_id=page.page_latest
AND text.old_id=revision.rev_text_id;

如果您的 wiki 使用 Postgresql,则表“text”被命名为“pagecontent”,您可能需要指定架构。在这种情况下,相同的查询将是:
SET search_path TO mediawiki,public;

SELECT page_title, page_touched, old_text 
FROM revision,page,pagecontent
WHERE revision.rev_id=page.page_latest
AND pagecontent.old_id=revision.rev_text_id;

关于export - 如何从 MediaWiki 的所有页面导出文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6739999/

相关文章:

java - 正则表达式维基表

string - 如何使用 mediawiki 将字符串中的第一个字母大写?

r - 在 R 中使用 Formattable 包导出/保存表格的命令

javascript - 如何导出从异步函数获取值的变量

ms-access - Access 查询不带列名的 txt 文件。

mysql - 从 MySQL 导出的 CSV 未出现在指定目录中

javascript - 如何在客户端将Javascript数组数据导出到excel

mediawiki - 转储中的维基百科类别层次结构

mediawiki - 如何允许用户使用表单选项创建文章?

mediawiki - 如何解决 MediaWiki 中检测到的模板循环问题