ゆーすけべーさんのおっぱいスクリプトをPHPで書き直してみた

ゆーすけべーさんのおっぱいスクリプト(2012)Perlで書かれていたので、PHPに書き直してみた。

※なんとRuby版を作った方が!

Bingのdeveloperに登録して、AppIdをゲット

ここから

oppai.php

<?php                                                                                                                                          

define('APP_ID', 'XXX'); //XXXに自分のAppIdを入れる

$dir = './data'; //先にdataディレクトリを作っておくこと
$page_count = 0;
$oppai_count = 0;

while(1) {
  $offset = $page_count * 50;
  $url = 'http://api.bing.net/json.aspx?'
      .'AppId=' . APP_ID
      .'&Version=2.2'
      .'&Markert=ja-JP'
      .'&Sources=Image'
      .'&Image.Count=50'
      .'&Image.Offset=' . $offset
      .'&Adult=off'
      .'&Query='. urlencode('おっぱい')
  ;

  $res = @file_get_contents($url) or die('error!'); //jsonダウンロード
  $ref = json_decode($res);
  $arr = $ref->SearchResponse->Image->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[3])) { //画像で無い場合
      unlink($filepath);
    }   
  }
  $page_count++;
}     

結果

!!!

perlむずい。。

自分、perl分からないので、激難でした(T-T)一応動きましたが、細かい所で誤訳あるかもしれません。。あしからず。

oppai_coro.php

すみません。。自分には力不足でしたorz
いずれ再挑戦しようと思います。。