boketeの画像だけを取得する方法を調べてみた

boketeといえば画像で大喜利するエンターテインメント系サービスですが、
これを楽しく二次利用しようということで画像だけ取得するコードをphpで書きました。
なんてことはない、画像のURLを直指定で取得出来ます。
コードだけ見たい方は記事下部まで一気にスクロール、どうぞ。

boketeの画像は[ http://ss.bokete.jp/{画像ID}.jpg ]のURLで取得可能です。
画像IDは数値で、投稿毎にカウントアップされています。このIDは0埋めする必要はないですが、左側桁に0をつけても、無視して表示されるようです。

つまり、下記の2つのURLにアクセスすると同じ画像が表示されます。
http://ss.bokete.jp/1.jpg
http://ss.bokete.jp/00000001.jpg

執筆日現在(2015.9.14)で画像IDが1-35000000くらいまでの投稿が確認出来ました。

ジャンル別に取得する方法は、画像URLをダイレクトに指定する方法では難しそうです。
Webページを直接スクレイピングした方がいいかもしれません。

対象の画像が削除されている場合、404にリダイレクトされ、おなじみの犬の画像が表示されます。
bokete notfound

[php] <?php
// 指定の画像IDまたはランダムなIDの画像を取得する
function GenerateBoketeImgUrl($ID=FALSE)
{
// IDが指定されていた場合はそのまま、指定されていない場合は1-35000000までのランダムなIDを指定する
$num = ($ID) ? $ID : rand(1, 35000000);

// URLに画像IDをセットしてReturn
return ‘http://ss.bokete.jp/’.$num.’.jpg’;
}

// IDが100の画像を取得
echo ‘<img src="’.GenerateBoketeImgUrl(100).’"/>’;

// ランダムな画像を取得
echo ‘<img src="’.GenerateBoketeImgUrl().’"/>’;
?>
[/php]

適宜、画像の存在を確認する処理を噛ませてあげるといいと思います。

※ 利用の際には、全てのbokeに感謝を込めてクレジット表示を行いましょうね