0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MediaWikiベースのWikiページをダンプする

Last updated at Posted at 2025-03-13

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: 画像を保存する場合に指定

終わり

最後まで読んでいただきありがとうございました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?