PHP: <?php /* GET параметры: q = запрос c = кол-во страниц для парсинга */ $q = ''; if(isset($_GET['q'])) $q = $_GET['q']; $been = ''; $colvo = 17; if(isset($_GET['c'])) $colvo = $_GET['c']; for($i=0; $i < $colvo*10; $i+=10) { $url = 'http://www.google.ru/search?hl=ru&q='.urlencode($q).'&start='.($i); $html = file_get_contents($url); preg_match_all("/<[Aa][ \r\n\t]{1}[^>]*[Hh][Rr][Ee][Ff][^=]*=[ '\"\n\r\t]*([^ \"'>\r\n\t#]+)[^>]*>/",$html,$a); for($x=0; $x<sizeof($a[1]); $x++) { if(strcmp(substr($a[1][$x], 0, 4), 'http') == 0 && strpos($a[1][$x], '74.125.77.132')===false && strpos($a[1][$x], 'google')===false && strpos($a[1][$x], 'youtube')===false) { $str = urldecode($a[1][$x]); $str = substr($str, 7); $end = strpos($str, '/'); if($end > 0) $str = substr($str, 0, $end); if(strpos($been, str_replace('www.','',$str)) === false) { $been .= $str . '+'; echo $str.'<br>'; } } } Sleep(1); } ?>
С таким же успехом можно нажать ctrl+j в опере. А если нужно выпарсить ссылок по ста ключам, так и будешь нажимать на гор.клав.?
PHP: <?php $query = "Macoley"; $url = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=".urlencode($query); $body = file_get_contents($url); echo $body; $json = json_decode($body); foreach ($json->responseData->results as $resultjson) { $result_google['title']= $resultjson->title; $result_google['url']= $resultjson->url; $result_google['content'] = $resultjson->content; } print_r($result_google); ?> Тут нету ограничений, следовательно не будет каптчи.