MediaWikiとは?
MediaWikiとは、WikipediaのようなWikiページを書くために作られた
PHP製のソフトウェアです。このソフトウェアは無料で公開されており、
誰でもMediaWikiを使ってWikiを作れます。
ダンプする
今回、MediaWikiベースのページをダンプする方法を見つけたので、
それをメモも兼ねて紹介します。
ダンプとは、MediaWikiでは記事などのデータをまとめて保存する
操作のことを指します。
(ダンプは、サーバーの管理者しかできない操作です。)
ダンプされたデータを公開しているWikiもあります。
(これは、Wikipediaの日本語記事がダンプされたものです。)
しかし、ダンプをしていない、あるいはダンプしたファイルを
公開していないWikiも数多くあります。(多分)
そこで使うのがこれです!
これを使用すると、MediaWikiページをダンプすることができます。
使ってみよう
どうやら、Pythonが新しすぎる(3.12など)と、動かないようで、
投稿主はAnaconda上にPython3.8を構築して動かしました。
(3.9も動くか怪しい)
基本的には、Installationを読み進めればいけると思いますが、
一応ここにも書きます。
1.作業フォルダにクローンする
git clone https://github.com/mediawiki-client-tools/mediawiki-dump-generator
2.ビルドする
pip install poetry
cd mediawiki-dump-generator # さっきクローンしたところに移動
poetry update && poetry install && poetry build
pip install --force-reinstall dist/*.whl
使用方法
dumpgenerator http://<保存したいWikiのURL> --xml
オプション
--xml
: xml形式で保存する時に指定
--curonly
: 記事の最新版のみ保存する
--api http://<<保存したいWikiのURL>>/path/to/api.php
:
記事をダンプするのにMediaWiki APIというものを使っていて、
APIが見つからないエラーの時は手動でAPIのパスを指定する必要がある。
デフォルトでは、http://<<保存したいWikiのURL>>/w/api.php
--path /<保存先のパス>
: ダンプ結果の保存先フォルダ
--namespaces 0
: ダンプする記事の名前空間を指定
通常の記事は0番なので、記事だけを保存したければ0を指定
--exnamespaces 1,2,3,4,5,6
: 除外する名前空間を指定
--force
: 前回の実行結果を再開せず、強制的にダンプする
--images
: 画像を保存する場合に指定
終わり
最後まで読んでいただきありがとうございました。