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 set
curl_setopt(
$ch
, CURLOPT_REFERER,
$referer
);
$body
= curl_exec(
$ch
);
curl_close(
$ch
);
//decode and return the response
return
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