$pages - количество страниц которые парсятся по 1 запросу.
Предварительно нужно создать папку img, туда будут сохранятся картинки.
Сами запросы кидать в фаил q.txt.
< ?php # coding:utf-8 # author: Rushter # site: http://klipner.ru set_time_limit(0); $q = file("q.txt"); $pages = 2; $ch = curl_init(); $num = 0; foreach ($q as $query) { for ($i = 0; $i <= $pages; $i++) { curl_setopt($ch, CURLOPT_URL, "http://images.yandex.ru/yandsearch?p={$i}&ed=1&text={$query}&nl=1&stype=image"); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.7)'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($ch); $result = str_replace("&", "&", $result); preg_match_all('#a href\="(.*?)" id="#', $result, $out); foreach ($out[1] as $iq) { curl_setopt($ch, CURLOPT_URL, "http://images.yandex.ru" . $iq); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.7)'); $result = curl_exec($ch); if (preg_match('#tabindex="2" href="(.*?)" onmousedown="#', $result, $im)) { $img = file_get_contents($im[1]); file_put_contents("img/$num.jpg", $img); $num++; } } } } ?>