『 2015年08月 』

≒ 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だけ気をつけとけばこれは使えるかも。