さる11/18にナクソス・ミュージック・ライブラリーサイトがリニューアルしたわけですが、そのあまりのプラマイゼロっぷりに絶望していたところ、拙作の「nmlシャフラー」が動かなくなっている!(注:応急処置したので、2008年11月いっぱいは動きます)
で、検索まわりをチェキったところ、postメソッド+javascriptでがっちりガード。検索エンジンにディープクロールされるのがそんなにイヤですかそうですか。…というわけで、ヘッダ解析しつつ、cURL関数など援用しつつ、とりあえず対処完了。
nmlシャフラー2
まあ、いろいろ問題を抱えたコードのような気がするが、、、まあ、いいか!
[2008-12-04追記] cache-controlがヘッダに入っているのでおんなじ検索結果が二回ずっこ出ることに気づいたので、そこら辺をゴリゴリと。
[2008-12-14追記] セッション寿命の問題なのか、シャフラーが動かなくなってしまった。ヘッダをキャプチャしなおして、__EVENTVALIDATIONの値を最新のものにしてとりあえず解決。うにゅー。
[2009-02-22追記]まれにときどき動かなくなるものの、__EVENTVALIDATIONをいじらなくても復帰するように、いつの間にか、なった。まあ、めでたい。
[2009-02-23追記]nmlのライブラリアンが怒涛の勢いでトラックを突っこんでくるので、シャッフルする数値の母数の更新がだんだんメンドくさくなってきた。というわけで地味に改良。アクセスしたときに検索全件が表示されるので、その値をmb_egrep()で切り出して、テキストファイルに保存。次回のアクセス時はその数値ベースで乱数を発生するようにした。まあ、母数17万もあるんだから、そんなに頻繁に更新せんでも十分な気もするが、自動化マンセーということで。
[2021-07-29追記] ……で、↑これも動かなくなったので、もっとシンプルに、とりあえずやりたい事を実現するの優先、とにかく最短手、で書き直しました。
nmlシャフラー4
ランダムな「その日」のページまで行ったら、まああとは好きなだけめくってください、という雑な仕様www
naxosもapiで叩けるようになったりしないかなあ。。