Wikipediaデータをxml2sqlを利用しMySQLにぶっこむ

Wikipediaではクロールを禁止している代わりに、全データがXML形式で公開されています。簡単に手に入るのですが、XMLデータのままでは扱いにくいです。今回は、XMLデータをSQLに変換し、最終的にMySQLに入れる方法をご紹介します!

Wikipediaデータをxml2sqlを利用しMySQLにぶっこむ

Wikipediaコーパスってどう入手するの?

Wikipediaのコンテンツデータは、http://dumps.wikimedia.org/にて公開されています。
(詳しくは、こちらを参照してください)

上記サイトは、英語版のWikipediaデータで、日本語版はhttp://dumps.wikimedia.org/jawiki/においてあります。
Wikipediaではクローラを禁止している代わりに、全データがXML形式で公開されています。

Wikipediaサイトで入手できるデータはXML形式なため、扱いしやすくするためMySQLに突っ込もうとしたのですが、つまづいたためそのときの備忘録です。

WikipediaのXMLデータ取得

wgetを叩くなりダウンロードするなりなんなりで、http://dumps.wikimedia.org/jawiki/latest/jawiki-latest-pages-articles.xml.bz2を取得します。
このファイルは、Wikipediaの記事データの最新の全ファイルで、圧縮時で2.01GB(2014.10.30日現在)あります。
以下のコマンドで、このファイルを解答します。

xml2sqlのインストール

xmlからsqlへ変換してくれるツールがあります。
http://meta.wikimedia.org/wiki/Data_dumps/xml2sql
このサイトから、xml2sql-0.5.tar.gzを落として、makeしてインストールします。

実際に変換

xml2sqlを実際に実行しようとしたのですが、以下のエラーが発生。

大容量のDBデータを準備する – zabbiたんAMIたん
を参考に、以下のコマンドを実行。

エラーになっているところを取り除いています。

しかし、これでもうまくいかず。。。エラー部分を1つずつ潰して最終的に以下のコマンドになりました。

このコマンドを実行すると、
– page.txt
– revision.txt
– text.txt
という3つのファイルが生成されます。

xml2sqlで変換したデータをMySQLにつっこむ

前準備として、専用のテーブルを作成する必要があります。
http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/maintenance/tables.sql?view=markup

上記ページから、table.sqlを落としてMySQLに入れます。上記3ファイルは、mysqlimportの形式となっているため、

を実行すると完了します。
Wikipedia全ページとあって、結構重たいですが気長に待ちましょう。


もしよければ応援クリックお願いします
↓↓↓↓↓
にほんブログ村 IT技術ブログ IT技術メモへ