私がデザインした UI はシンプルです^^

この無名(Wretch)/ Yam の音楽の実際のダウンロード URL を取得するプログラムは、もともとブログ用の音楽タグを自動生成するプログラムにするつもりでした。ただ、すでに音楽タグのジェネレーターを運営している人がたくさんいるので、もう一つ作っても意味が薄いと考えました。そこで作らずに、コードを公開してみなさんに見てもらうことにしました。また、Yam や無名から音楽をダウンロードしたい人がいれば、このプログラムをダウンロードして自分のサーバーにインストールし、動かすこともできます。

無名/Yam の音楽の実際のダウンロード URL を取得する仕組み自体は、実はそれほど難しくありません。ただ、書くのには少し苦労します。このプログラムを三つの部分に分けて説明します。まず、このプログラムは Michael Schrenk という、ネット上の先輩が書いた cURL のライブラリを使っています。この先輩のライブラリのおかげで、このプログラムを素早く完成させることができました。このライブラリには、ファイルのダウンロード、RSS の処理、ウェブクローラー、HTML の解析など、さまざまな機能があります。いつか時間があるときに紹介したいと思います。今日は時間があまりありません。このあとも会計の宿題を急いで仕上げないといけないので…

二つ目は Yam の音楽の取得です。Yam は音楽の URL を保護するためにいろいろと工夫していて、ソースコードから直接見つけることはできません。しかし、Flash Player で音楽を再生できるということは、ソースコードから取得する方法が必ずあるはずです。しばらく調べたところ、ある URL に GET リクエストを送ると、音楽の実際の URL が返ってくることがわかりました。本当によく隠されています。無名とは大違いです…

このプログラムの最後の部分は、無名の音楽の実際のアドレスの取得です。正直に言うと、無名は私たちをバカにしているとしか思えません。URL がソースコードにそのまま書かれているのです。PHP でその URL の文字列を探すのには explode を使って長い処理が必要でしたが、cURL を使えば、関数一つで実際の URL を取得できました…

上では十分に説明できていないので、詳しくは私のソースコードを見てください。

メインの解析機能は getreallink という PHP ファイルに書いてあります。使っているライブラリは aider という PHP ファイルです(aider.php は元の curl-lib ではなく、私が簡略化したバージョンです)。また、index.php と engine.php の二つが、このプログラムの UI になっています。使いやすさを考えて作りました XD

このプログラムはオブジェクトとして書いてあるので、使い方がわからない場合は index.php と engine.php の二つのファイルを参考にしてください。

curllib に含まれるファイル: