WikiからWikiteamを使用して
XMLファイルと画像をダウンロードする
Windows環境で説明していきます。また、Cygwinを使用していきますので、Cygwinをインストールしていない場合は、Grain氏の解説サイトを参考にしてCygwinとパッケージをインストールして下さい。
1・pipのインストール
Wikiteamを動作させるためにpipをインストールします 。以下のコマンドを実行してください。
$ cd /usr/src
$ wget http://peak.telecommunity.com/dist/ez_setup.py
$ python ez_setup.py
$ easy_install-2.7 pip
2・Wikiteamのダウンロードとインストール
WikiteamのGithubからwikiteam-master.zipをダウンロードして、解凍してください。(これからはCドライブ直下に解凍した前提で話を進めていきます。)
以下のコマンドを実行して下さい。
$ cd /cygdrive/c/wikiteam-master/
$ pip install --upgrade -r requirements.txt
これでインストールは完了です。
3・Wikiのダウンロード
以下のコマンドを実行して下さい
$ cd /cygdrive/c/wikiteam-master/
ここではMinecraftWikiを例にダウンロードをしていきます。
ダウンロードにはAPI(api.php)かindex.phpのどちらかを使用します。APIを使用するほうが良いですが、すべてのWikiでAPIが使えるわけではありません。
最初にダウンロードしたいWikiのどこのページでもいいので履歴のページ(多くのMediaWikiではページ右上にリンクがあります)を表示します。
例:http://minecraft-ja.gamepedia.com/index.php?title=Minecraft_Wiki&action=history
このURLのindex.php?title=Minecraft_Wiki&action=historyを削除し、api.phpを入力して下さい。
例:http://minecraft-ja.gamepedia.com/api.php
このURLを開いてみてください。APIドキュメントのウェブページが表示された場合は、APIが使用可能です。APIドキュメントのウェブページが表示されなかった場合は、APIを使用することができません。
index.phpを使用する場合はindex.php?title=Minecraft_Wiki&action=historyを削除し、index.php入力して下さい。
APIドキュメントの例
api.phpを使用する場合は、URLの部分を上記の手順で作ったURLに変えて以下のコマンドを入力して下さい。(まだ実行はしないで下さい)
$ python dumpgenerator.py --api=URL
index.phpを使用する場合はURLの部分を上記の手順で作ったURLに変えて以下のコマンドを入力して下さい。(まだ実行はしないで下さい)
$ python dumpgenerator.py --index=URL
入力したコマンドの最後に"--xml"をつけるとXMLファイルをダウンロードすることができ、
”--images”をつけると画像をダウンロードすることができます。
--xmlは全ページの完全な履歴をダウンロードします。全ページの最新の記事のみで良い場合は、”--xml --curonly”をつけます。
サーバーの負担を減らすために遅延を使用したほうがいいです。(遅延を使用しないとWikiによっては503エラーでダウンロードが止まうことがあります)遅延を使用するには"--delay=秒"をつけます。
つまり、MinecraftWikiをapi.phpを使用して遅延6秒、最新の記事のみのXMLと画像をダウンロードする場合のコマンドは以下のようになります。
$ python dumpgenerator.py --api=http://minecraft-ja.gamepedia.com/api.php --xml --curonly --images --delay=6