如何将MediaWiki XML Dump转化为可用文档格式

71 阅读2分钟

引言

MediaWiki是很多网站和团体用来创建和管理Wiki内容的常用平台。很多时候,我们需要将MediaWiki的XML Dump转换为可用的文档格式,以便进行下游数据处理。这篇文章将介绍如何使用mediawiki-utilitiesmwparserfromhell库,解析并加载MediaWiki XML dump文件。

主要内容

获取Dump文件

你可以通过以下两种方式获取MediaWiki的Dump文件:

  1. 使用dumpBackup.php脚本生成。
  2. 在Wiki的Special:Statistics页面下载。

安装必要的Python库

我们将使用mediawiki-utilitiesmwparserfromhell库。首先安装这些库:

# mediawiki-utilities支持未合并分支中的XML schema 0.11
%pip install --upgrade --quiet git+https://github.com/mediawiki-utilities/python-mwtypes@updates_schema_0.11
# 修复mediawiki-utilities mwxml中的bug,等待PR合并
%pip install --upgrade --quiet git+https://github.com/gdedrouas/python-mwxml@xml_format_0.11
%pip install --upgrade --quiet mwparserfromhell

解析和加载Dump

使用MWDumpLoader可以轻松加载XML dump文件:

from langchain_community.document_loaders import MWDumpLoader

loader = MWDumpLoader(
    file_path="example_data/testmw_pages_current.xml",
    encoding="utf8",
    skip_redirects=True,  # 将跳过重定向的页面
    stop_on_error=False,  # 解析错误时继续
)

documents = loader.load()
print(f"You have {len(documents)} document(s) in your data ")

这将输出文档的数量并显示部分文档内容:

documents[:5]

常见问题和解决方案

API访问问题

某些地区可能遇到网络访问限制,导致API请求失败。开发者可以考虑使用API代理服务提高访问稳定性。

解析错误

  1. 检查文件路径和格式:确保文件路径正确,文件格式为有效的XML。
  2. 更新库版本:确保使用最新版本的解析库。

总结和进一步学习资源

本文介绍了加载和解析MediaWiki XML dump文件的方法。要深入学习,可以参考以下资源:

参考资料

如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!

---END---