是否有解析器/方式可用于使用Python解析Wikipedia转储文件?

时间:2009-03-19 09:44:26

标签: python xml parsing wiki wikipedia

我有一个项目,我收集属于特定类别的所有维基百科文章,从维基百科中取出转储,并将其放入我们的数据库中。

所以我应该解析Wikipedia转储文件来完成这些工作。我们有一个有效的解析器来完成这项工作吗?我是一名python开发人员。所以我更喜欢python中的任何解析器。如果不建议一个,我将尝试在python中编写一个端口并将其贡献给Web,因此其他人可以使用它或者至少尝试一下。

所以我想要的是一个解析维基百科转储文件的python解析器。我开始编写一个手动解析器来解析每个节点并完成这些工作。

5 个答案:

答案 0 :(得分:3)

答案 1 :(得分:1)

我不了解许可,但this是在python中实现的,并包含了源代码。

答案 2 :(得分:1)

另一个好的模块是来自here mwlib - 安装所有依赖项(至少在Windows上)是一件很痛苦的事情,但是效果很好。

答案 3 :(得分:0)

Wiki Parser是一个非常快速的Wikipedia转储文件解析器(大约需要2个小时来解析所有55GB的英语维基百科)。它生成的XML可以保留内容和文章结构。

然后,您可以使用python通过XML输出执行任何操作。

答案 4 :(得分:0)

我强烈推荐mwxml。它是解析由维基媒体基金会研究科学家Aaron Halfaker撰写的维基媒体转储的实用工具。它可以与

一起安装
pip install mwxml

使用非常直观,如documentation

中的此示例所示
>>> import mwxml

>>> dump = mwxml.Dump.from_file(open("dump.xml"))

>>> print(dump.site_info.name, dump.site_info.dbname)
Wikipedia enwiki

>>> for page in dump:
...     for revision in page:
...        print(revision.id)
...
1
2
3

它是维基媒体基金会及其社区推出的更大一组data analysis utilities的一部分。