最終的にやりたいことは違うんだけど、実験および検証に使う
サンプル用の画像を引っ張ってくるのにまずFlickrのAPIで画像引っ張ってきてダウンロードしたりするところからやる。
flickr
Flickr_ The Flickr Developer Guide
基本的な使い方はこちらのサイトを見ればOK
flickr APIの使い方まとめ(サンプルコード付き).html
落としてくるやつはphpFlickrのやつ。こちらをクリックするとgithubに飛ぶのでそこのソースを落っことしてきた。
あとは先ほどのURLにあるものをそのままコピって実行するだけで画像が一覧表示されるところまでできる。
猫で検索
パンダで検索
ここまではOKっと。ただ画像を1個ずつ保存するのはだるいのでまとめて落としてくるスクリプトを作る
<?php
//ライブラリを読み込む
require_once 'phpflickr/phpFlickr.php';
// Consumer Key
$app_key = '自分のを入れる';
// Consumer Secret
$app_secret = '自分のを入れる';
// 保存先フォルダ名
$dir_name = "flickrImg";
// 保存先ディレクトリがなければ作る
if(!file_exists($dir_name)) mkdir($dir_name);
// インスタンスを作成する
$flickr = new phpFlickr( $app_key , $app_secret ) ;
//オプションの設定
$option = array(
'text' => '猫' , // 検索ワードの指定
'media' => 'photos', // 画像指定
'per_page' => 20 , // 取得件数
'extras' => 'url_q,url_c' , // 画像サイズ
'safe_search' => 1 , // セーフサーチ
) ;
// 検索を実行し、取得したデータを[$result]に代入する
$result = $flickr->photos_search( $option ) ;
// 画像ダウンロード
foreach($result['photo'] as $photo)
{
// 写真url作成
$url = "http://farm{$photo['farm']}.staticflickr.com/{$photo['server']}/{$photo['id']}_{$photo['secret']}.jpg";
$data = file_get_contents($url);
$save_path = "./{$dir_name}/{$photo['id']}.jpg";
file_put_contents($save_path, $data);
}
?>
こんな感じで指定したフォルダに par_pageで指定した個数分ダウンロードされる
こんなことしなくてもツールとか探せば良かったのかもだけど気にしない。