We will be using the google ajax api in this script. As you might have found, by default it gives out only 4 results. Or you may manage to get 8 with one more parameter. But here, with some tweaks, you will get the top 64 results! (And 64 is the upper limit, because google doesn’t like bots.)
<?php{if ( !array_key_exists('v', $args) )$args['v'] = '1.0';//$args['key']="ABQIAAAArMTuM-CBxyWL0PYBLc7SuhT2yXp_ZAY8_ufC3CFXhHIE1NvwkxT-uD75NXlWUsDRBw-8aVAlQ29oCg";//$args['userip']=$_SERVER['REMOTE_ADDR'];$args['rsz']='8';$url .= '?'.http_build_query($args, '', '&');$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);// note that the referer *must* be setcurl_setopt($ch, CURLOPT_REFERER, $referer);$body = curl_exec($ch);curl_close($ch);//decode and return the responsereturn json_decode($body,true);}$query=urldecode(isset($_GET['q'])?$_GET['q']:"none");echo "Results for: $query<br />-----<br />";$res = google_search_api(array('q' => $query));$pages=$res['responseData']['cursor']['pages'];$nres=0;for($i=0;$i<count($pages);$i++){$res = google_search_api(array('q' => $query,'start'=>$rez['responseData']['cursor']['pages'][$i]['start']));for($j=0;$j<count($res['responseData']['results']); $j++){$nres++;echo urldecode($res['responseData']['results'][$j]['url'])."<br />";}}echo "<br />---<br />Total number of reuslts: $nres";?>

0 comments:
Post a Comment