Windows 上下载并提取 Wikipedia

下载资源

很久以前看过了 Wikipedia 是支持 dump 的,不得不说真是造福人类的壮举。我其实也用不到这个,但是看见不少人是用来做 NLP 语料训练的。不过最近我也想尝试一些新的东西(我就是单纯想要这个文本数据),所以就去把它给下载下来了。这个东西很大的,下载可能需要很久的时间,所以需要自己解决这个过程中面临的问题。

Windows 上下载并提取 Wikipedia_第1张图片

我下载的是 English Wikipedia,差不多 20 G,上面的 wiki_extract 是我自己建立的空目录,准备用来存放提取的文件的。

提取资源

下载的是一个压缩文件,里面是 xml 格式的,这里不直接解压它了。而是通过一个程序来提取它:wikiextractor。
不过这个程序的作者说了,它在 Windows 平台可能会有问题,我不信邪真的去尝试了,结果真的报错了,这里看起来是我的 Python 版本(Python 3.11)太高了导致:

Windows 上下载并提取 Wikipedia_第2张图片

那怎么办好呢?我最近安装了 Docker Desktop,以前我对这个东西是十分抗拒的,因为很多年以前它对 Windows 的支持并不好,但是今非昔比了,现在它和 WSL2 结合之后,真的成了一个十分有用的工具了!!!

DockerDesktop 安装并启动

Windows 上下载并提取 Wikipedia_第3张图片

不过在国内拉取镜像受到网络因素的影响,十分难受。我因为我大学时弄的一个阿里云的服务器,所以添加了阿里云的镜像加速功能。下面的内容,要求你了解一些 docker 的内容,其实也很简单了,直接按部就班应该也没有问题。

拉取python镜像,这里选择一个版本相对较低:

docker pull python:3.7

然后把本地的 E:\Wiki 挂载到容器的 /wiki 目录,再开一个交互式终端,直接跟着下面的操作来一气呵成吧!

Windows 上下载并提取 Wikipedia_第4张图片

因为容器里面是没有 wikiextractor 的,所以需要自己安装一下,也不用写一个 Dockerfile 来构建镜像了,那简直是浪费时间,反正你也就用一次。即用即装反而是最优解了(不过容器停止了以后,啥也没有了,哈哈。)。

我把 processes 参数设置成了 20,这个任务对于 CPU 的压力还是蛮大的:

Windows 上下载并提取 Wikipedia_第5张图片

下面补充一个提取的 Gif 图:

你可能感兴趣的:(docker,docker)