≒ mysqlの文字設定の件再び

enwiki最新版をいつもの手順(mwdumper.jar)で解凍してるんだけど「í」とかが?になっちゃう。お前ら普通の英語ちゃうんか!と思うわけですが、毎度おなじみMySQLの文字設定が間違ってるんだろうなーと

SHOW VARIABLES LIKE ‘char%’; SHOW VARIABLES LIKE ‘collation%’;

で確認したところ所々「cp932」の文字が…。こいつきらい!前にも書いたけど、この世からUTF8以外なくなっちゃえば良いんだよ!

最近メインPC新しくしたからなー。MySQLも入れただけでそのまま使ってたから。で、記憶をたどって手を入れるのもめんどくさいので、

http://514design.jp/2013/01/mysql-character-set/ とか

http://www.gcd.org/blog/2009/09/177/ ここ、

そんで、http://blog.everqueue.com/chiba/2009/08/27/291/ や、

http://forums.mysql.com/read.php?10,633468,633468 を参考に(つーかコピペして)設定。

え、4番目のリンクMySQLの公式フォーラムだけどphpで組んでんのか。まぁ、良いですけど。

で本題は、新メインPCが人生初のデスクトップで、CPUの性能もメモリ容量なども諸々数倍の処理能力アップをしたわけなんですが、何故かMySQLの処理だけがどうも遅い。

旧ノート(thinkpadW500)で1日かかってた処理(enwikiの解凍ね)が1日で1/5程度しか進まない。ほかのことやりながらチョコチョコ調べてたんだけど分からず、だったんだけど、

↑のようにMySQLの文字設定をUTF8に統一したら爆速になったw 1時間たたず6ギガ処理終わってるから、半日で終わる勢い。

こんなのググっても分からないよなー。もうメモリ買い足すしかないかと思ってたもの。

まぁ、明日確認して文字化け直ってない可能性もあるけど。

 

≒ jawiki/latest 20150805/ のページ数の件>1963994

今回非分割バージョンが復活?したのでそちらを利用、ページ数が大分回復した。

しかし、今回からenデータも同時に取得しようとしたために処理が10日近く遅くなっちゃった。

jaが2ギガちょっとに対してenは10ギガ以上あるもんなー。早い回線用意してもwiki側のネット速度のムラもあってenのダウンロードには異常に時間がかかるw

 

enデータで色々遊んでるとjaのwikiとの違いが色々あって面白い。例えば

1)身体データが一切載っていない。BWHとか身長とか。単なる有名人はもちろん、芸能人、さらにはポ○ノスターのページでも。

2)個人のtwitterリンクが一切載っていない。

当然全ページ見たわけではないから断言はできないけど、何らかの記入ポリシーがあるようだ。あとでポリシーページ見てみよう。

 

というわけでスクレイピングの必要性が高まりすぎて、現在も24時間裏で4発飛ばし続けてるわけですが、今回「1段目selenium+2段目Jsoup」という構成で、手元=windowsマシンで結果見ながらやりたいんで、サーバーで走らせる場合linuxだと定番の「xvfbとfirefox」ができず、ポコポコfirefoxが開いて非常にうっとおしい。

javascript処理をきっちり拾いたいんで1段目をseleniumにしてるんで、できればHtmlUnit Driverとかは使いたくない(つーか試したけどやっぱり上手く取れず)。

そんで「やっぱ遊んでる古いノートに専用サーバ建てるか」とか考えてたところ、みんな大好き! stackoverflowに「windows7でfirefoxをheadlessで走らせるならタスクスケジューラ使えよ」みたいなことが書いてあって、あんまりレス付いてないし期待しないで試してみたらちゃんとできた。結構記述の自由度もあって便利。cron使いたくてサーバで処理してることも多いけど、windows updateだけ気をつけとけばこれは使えるかも。

 

≒ jawiki/latest 20150703/ のページ数の件>1703701

相変わらず更新滞ってますが、一人で趣味プログラミングしてるとgitとかも結局使ってないし(何回か導入チャレンジはしてる)、他人と何かを共有する必要性が全然無いのよね。

昔から「小説は読むもので書くものではない」が俺々定義なんだけど、webも一緒なかんじ。といってもアフィサイトは公開してますが。全然売り上げないけど。

ということでこのブログにもgoogleアドセンス付けて早2ヶ月、当然売り上げゼロですが、少しは更新がんばってみようということで、今後はwikipediaデータを利用したサイト群のためにjawiki/latestが更新される都度行うデータ更新作業の結果のページ数を記録しておこうというコーナーです。

今回(20150703)の更新では、jawiki-latest-pages-articles.xml.bz2(全ページの記事本文を含むXML)が4分割版のみになって(今確認したら一括版はwaitingになってる)、mwdumper.jarで4回処理する必要がある。初めてだったので何か引数で指定しないと上書きされるんじゃ無いかと思ったけど、何もしないでも無事追記されてる模様。

で、結果ページ数。 mysql> SELECT COUNT(*) FROM text; → 1703701

前回の結果は残してないんだけど、去年の10月くらいの更新の時は1853286ページ。だいたい毎月これより微増することはあっても減ることは無かったのに。最終的に加工してサイトで使うデータも15%くらいへっちゃてるし。

というわけで、今回は更新見送りで6月のデータに戻す。waitingの一括版が出るか、次の更新がくるまでこのまま。何か「お前間違ってるよ」ってのがあったらご指摘ください。