「作曲できる奴ちょっとこい」のデータで遊ぶ http://sdc.oov.ch/ 「埋もれた歌詞の救済」というテーマを元にこんなサイトを作ってみた。 実際の作業自体は大体3日ぐらいで終わった。実作業時間は半日とちょっとぐらい。 1日目 ---- ネタ元はもちろん少し前に話題になった J-POP ジェネレータ 。 それを見た友人が「作曲スレのデータでできないかな」と言っていて、作業しようと思い立ったのがこの日。 まず最初に歌詞のデータを集めてくる必要があった。 いくつか抜けている部分もあるもののIDは既に19000を越えているようなので、1秒ずつ HTTP アクセスを掛けたとしても19000秒。 図書館事件も記憶に新しい今日この頃なので、サーバのレスポンス速度も確認してデータ収集中はほぼ常時対象サーバもクライアントも監視していた。 収集で使用したのは概ね以下のようなコード。 golang で書いた。 package main import ( "http" "io" "os" "log" "fmt" "time" ) func main(){ for i:=0; ; i++ { time.Sleep(1e9) r, _, err := http.Get(fmt.Sprintf("http://www9.atpages.jp/stewmusic/akadb/songlist.php?key=No:%d", i)) if err != nil { log.Printf("http.Get error: %s", err.String()) i-- //リトライ continue } dir := fmt.Sprintf("akadb/%02x", i & 0xff) filename := fmt.Sprintf("%s/%...