'; function rhost($rhost){ // функция "переворачивания" домена $out=''; $part=''; while(strpos($rhost,'.')!==false){ $part=substr($rhost,0,strpos($rhost,'.')); // берем часть $rhost=substr($rhost,1+strpos($rhost,'.')); // удаляем их исходного $out='.'.$part.$out; // приделываем кго и точку к резутьтату } $out=$rhost.$out; // в конце от исходного остается только домен верхнего уровнея , примепляем и его return $out; } function pget($url){ // функция получения определенной стрницы $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 0); // нем не нужен заголовок //curl_setopt($ch, CURLOPT_REFERER, ''); curl_setopt($ch, CURLOPT_USERAGENT, "User-Agent=Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14"); // мы - обычный юзер curl_setopt($ch, CURLOPT_COOKIE,"YX_SEARCHPREFS=favicons:1,lang:all,ton:1,banners:,search_form:topbot,numdoc:50,target:_blank,desc:sometimes,lr:,wstat:,t:2,family:; path=/; expires=Friday, 31-Dec-10 23:59:59 GMT; domain=.yandex.ru;") ; // ставим куки, чтобы смотреть по 50 страниц. Это экономитнесколько секунд времени и каплю денег. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Уважаемый(ая?) курл, заверните нам в переменную! $ret=curl_exec($ch); // взяли нашу страницу. curl_close($ch); return $ret; // и вернули } function sget($site){ //функция получает спиок страниц $flag=true; //флажок :) $page=0; // номер страницы $counter=0; // индекс массива while($flag===true){ $out=''; $res=pget('http://yandex.ru/yandsearch?p='.$page.'&pag=u&site='.$site.'&lang=ru&rd=0&text=rhost%3D%22'.rhost($site).'%22|rhost%3D%22'.rhost($site).'.*%22'); preg_match_all('!(.*?) · !si',$res,$urls); // забрали страницу и нашли О_О foreach ($urls[1] as $i) { $result[$counter]=str_replace("\n","",$i); //поместили все рещзультаты в общий массив $counter++; } $page++; if (strpos($res,'/yandsearch?p='.$page.'&pag=u')===false) {$flag=false;} // это определяет, есть ли следующая страница выдачи. } return $result; } if (isset($_POST['site'])){ $site=$_POST['site']; $pages=sget($site); sort($pages); reset($pages); echo "
";
foreach ($pages as $i) { echo $i."\n";}
echo "
"; } echo $page; ?>