チップス

「Webサービスのつくり方」 おっぱい画像をPHPで


ゆーすけべーさんが出版した「Webサービスのつくり方」を読んで
面白そうな記事があったので挑戦してみました。

「いかにして効率よく大量のおっぱい画像をダウンロードするか」という記事が第1章 22ページと第4章 開発 114ページに書いてあります。
perlでかかれたソースがゆーすけべーさんのブログに掲載されています。

googleで検索するとruby や PHP で書き直されたソースも見つける事ができました。

* いかにしておっぱい画像をダウンロードするか〜2012
* ゆーすけべーさんのおっぱいスクリプトをPHPで書き直してみた
* いかにしておっぱい画像をダウンロードするか〜2012 for Ruby

 
 array(
                'request_fulluri' => true,
                'header' => "Authorization: Basic " . base64_encode($accountKey . ":" . $accountKey)
                )
            ));

    $res = file_get_contents($url, 0, $context);
    $ref = json_decode($res);
    $arr = $ref -> d -> results;
    if (!isset($arr)) { // Resultsが定義されていない場合
        break;
    } 
    foreach ($arr as $entry) {
        $img_url = $entry -> MediaUrl;
        if (!preg_match('/\.jpg$/', $img_url)) { // 拡張子が.jpgでない場合
            continue;
        } 
        $oppai_count++;
        $filename = md5(utf8_encode($img_url)) . '.jpg';
        $filepath = $dir . '/' . basename($img_url);
        if (file_exists($filepath)) { // 既に同名のファイルが存在する場合
            continue;
        } 
        echo utf8_encode($oppai_count . ' : Download...' . $img_url . "\n");
        $img = file_get_contents($img_url); //画像ダウンロード
        file_put_contents($filepath, $img);
        if (!preg_match('/image/m', $http_response_header[2])) { // 画像で無い場合
            unlink($filepath);
        } 
    } 
    $page_count++;
} 
?>

Bing Search API が http://datamarket.azure.com/ に移動したため、「ゆーすけべーさんのおっぱいスクリプトをPHPで書き直して」のソースをそのまま実効してみたら上手く動作しなかったので、一部ソースを変更してみました。

[PHP] Windows AzureのBing Search APIを利用する にプライマリアカウントキーの取得の仕方が書かれており参考になりました。

参考資料:
Migration Guide
Bing APIの変更に関するお知らせ
Bing Search API が Windows Azure Marketplaceで利用可能に
Bing API Schema Guide

 
[0]=> object(stdClass)#211 (11) 
{ 
["__metadata"]=> object(stdClass)#212 (2) { 
["uri"]=> string(124) "https://api.datamarket.azure.com/Data.ashx/Bing/Search/Image?Query='おっぱい'&Market='ja-JP'&Adult='off'&$skip=51&$top=1" 
["type"]=> string(11) "ImageResult" }
 
["ID"]=> string(36) "4f5cded5-86c3-4700-ba49-f5ec82efdf31" 
["Title"]=> string(46) "おっぱいを愛する者はおっぱい ..." 
["MediaUrl"]=> string(61) "http://25.media.tumblr.com/tumblr_m50kjqfZuH1qz4fjqo1_500.jpg" 
["SourceUrl"]=> string(55) "http://highlanderz.tumblr.com/post/24763403403/wayayaya" 
["DisplayUrl"]=> string(48) "highlanderz.tumblr.com/post/24763403403/wayayaya" 
["Width"]=> string(3) "450" 
["Height"]=> string(3) "645" 
["FileSize"]=> string(5) "33781" 
["ContentType"]=> string(10) "image/jpeg" 
["Thumbnail"]=> object(stdClass)#213 (6) 

{ ["__metadata"]=> object(stdClass)#214 (1) { 
["type"]=> string(14) "Bing.Thumbnail" } 
["MediaUrl"]=> string(68) "http://ts2.mm.bing.net/th?id=I.4651536306537397&pid=15.1&W=111&H=160" 
["ContentType"]=> string(9) "image/jpg" 
["Width"]=> string(3) "111" 
["Height"]=> string(3) "160" 
["FileSize"]=> string(4) "8230" } 
}

   チップス