最終更新:2012-04-11 (水) 04:38:56 (4369d)
xml2sql
Top / xml2sql
http://download.wikimedia.org/ でダウンロードできるXMLダンプをmysql,mysqlimport,psqlでインポートできるSQLダンプに変換するツール
ダウンロード&使い方
patch for recent versions of mw (>=1.10)
because the revision table contains two new datasets since 1.10 (rev_len, rev_parent_id) the xml slightly changed. apply this patch to make it work again:
--- xml2sql-0.5/xml2sql.c 2008-01-16 15:32:28.000000000 +0100 +++ xml2sql-0.5 (2)/xml2sql.c 2008-02-17 15:06:34.000000000 +0100 @@ -741,6 +741,10 @@ putcolumnf(&rev_tbl, "%d", revision.minor); /* rev_deleted */ putcolumn(&rev_tbl, "0", 0); + + putcolumn(&rev_tbl, "NULL", 0); + putcolumn(&rev_tbl, "NULL", 0); + finrecord(&rev_tbl); if(page.lastts == 0 || strcmp(page.lastts, revision.timestamp) < 0) {
メモ
952 :nobodyさん[]:2009/11/05(木) 17:09:16 ID:QrBblMDt こんにちは。Wikipedia日本語版の全編集履歴を取得したいと考えております。 全編集履歴を含むWikipediaダンプはjawiki-latest-pages-meta-history.xml(最新版)で、 これがなんと400GB近くあります。とりあえずmysqlに投入するために色々調べたら、 ImportDump.phpで投入すると何十日も掛かるらしく、xml2sqlというツールで変換して投入すると良いらしく、 (それでも数日掛かるのかな?)変換しようと考えております。しかし、何故か、<Redirect>タグがどうのこうのとエラーが出るし、 変換したら3つのファイル、revision.txt,page.txt,text.txtが作成されるのかな? で、よく考えたらHDDの容量が450GBしか無く、とても上記のファイルを確保できそうにありません 元のxmlファイルを削除しながら変換するオプションとかあるんですか?helpで見ても無さそうだし、どうしたもんか・・・ やっぱり1TBくらいのHDDを用意して作業するしかないんですかね 全編集履歴を取得した方居ませんか?どなたかアドバイスお願いします あと、テーブルの構造とかご存じでしたら教えてください。よろしくお願いします
943 :nobodyさん[sage]:2009/09/25(金) 12:04:14 ID:??? # bzcat jawiki-latest-pages-articles.xml.bz2 | sed -e 's/<redirect \/>/<redirect><\/redirect>/' | xml2sql unexpected element <redirect> xml2sql: parsing aborted at line 652 pos 14. # bzcat jawiki-latest-pages-articles.xml.bz2 | sed -e 's/<redirect \/>//' | xml2sql # ls -l *.txt -rw-r--r-- 1 root root 105800217 9月 25 11:57 page.txt -rw-r--r-- 1 root root 144668738 9月 25 11:57 revision.txt -rw-r--r-- 1 root root 3805082298 9月 25 11:57 text.txt こうなった。
2012/4
- jawiki-20120315で
xml2sql: parsing aborted at line 34 pos 8.
というエラーが出る場合は
cat jawiki-20120315-pages-articles.xml | sed -e 's/<ns>.*<¥/ns>¥|<ns.*¥/>¥|<sha1>.*<¥/sha1>¥|<sha1.*¥/>¥|<redirect>.*<¥/redirect>¥|<redirect.*¥/>//' | xml2sql
-rw-r--r-- 1 6.0G 3月 16 12:39 jawiki-20120315-pages-articles.xml -rw-r--r-- 1 133M 4月 10 06:03 page.txt -rw-r--r-- 1 180M 4月 10 06:03 revision.txt -rw-r--r-- 1 5.3G 4月 10 06:03 text.txt
インポート
テーブルを作っておいてから
mysqlimport -u root -p jawiki -L page.txt mysqlimport -u root -p jawiki -L revision.txt mysqlimport -u root -p jawiki -L text.txt
関連データ
関連ツール
- MWDumper - これも便利。速い。
- Wikipedia/ダウンロード