我有一个项目,我收集属于特定类别的所有维基百科文章,从维基百科中取出转储,并将其放入我们的数据库中。
所以我应该解析Wikipedia转储文件来完成这些工作。我们有一个有效的解析器来完成这项工作吗?我是一名python开发人员。所以我更喜欢python中的任何解析器。如果不建议一个,我将尝试在python中编写一个端口并将其贡献给Web,因此其他人可以使用它或者至少尝试一下。
所以我想要的是一个解析维基百科转储文件的python解析器。我开始编写一个手动解析器来解析每个节点并完成这些工作。
答案 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的一部分。