2

所以我们公司有大量不同部门的内部wiki站点,我正在寻找一种方法来统一它们。我们一直试图让每个人都使用同一个 wiki,但它永远不会奏效,他们一直想创建新的。作为替代方案,我想做的是抓取每个 wiki 并创建一个新的 wiki,其中包含来自每个来源的信息的组合。

在实现方面,我查看了 Nutch ( http://nutch.apache.org/ ) 和 ( http://scrapy.org/ ) 来进行网络爬取并使用 MediaWiki 作为前端。基本上我会使用爬虫作为前端来抓取每个 wiki,在中间编写一些代码(我正在考虑使用 Python 或 Perl)来理解它并创建新文章,使用它的 API 写入 MediaWiki。

不确定是否有人有类似的经验和更好的方法来做这件事,在我深入这个项目之前尝试做一些研发。

4

2 回答 2

0

不久前我做了一些非常相似的事情。我写了一个小 Python 脚本,它在我们的 Confluence wiki 中抓取页面层次结构,将生成的 html 页面保存在本地,并将它们转换为 DITA XML 主题以供我们的文档团队处理。

Python 是一个不错的选择——我使用 mechanize 来满足我的浏览/抓取需求,并使用 lxml 模块来理解 xhtml(它有相当多的 xml 遍历/选择方法。效果很好!

于 2013-03-05T13:22:56.650 回答
0

不要做屏幕截图,你让我哭了。

如果您只想定期将所有 wiki 合并为一个并将它们放在“单个 wiki”下,请将每个 wiki 导出到 XML 并将每个 wiki 的 XML导入到组合 wiki 的自己的命名空间中。

如果您想更紧密地实时集成 wiki,则需要在组合 wiki 上进行wiki 转入,以从远程 wiki 加载 HTML 并将其显示为本地页面。您可以在现有解决方案的基础上构建:

于 2015-04-06T12:10:35.163 回答