Andy's Blog » » 用 PHP 获取 Google AJAX Search API 数据

用 PHP 获取 Google AJAX Search API 数据

http://code.google.com/apis/ajaxsearch/documentation/#fonje

// This example request includes an optional API key which you will need to
// remove or replace with your own key.
// Read more about why it's useful to have an API key.
// The request also includes the userip parameter which provides the end
// user's IP address. Doing so will help distinguish this legitimate
// server-side traffic from traffic which doesn't come from an end-user.
$url = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&"
    .
"q=Paris%20Hilton&key=INSERT-YOUR-KEY&userip=USERS-IP-ADDRESS";
 
// sendRequest
// note how referer is set manually
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_REFERER, /* Enter the URL of your site here */);
$body = curl_exec($ch);
curl_close($ch);
 
// now, process the JSON string
$json = json_decode($body);
// now have some fun with the results...

API KEY 申请地址:
http://code.google.com/apis/ajaxsearch/signup.html

由此,我们可以写个函数像这样

function google_search_api($args, $referer = 'http://www.21andy.com/', $endpoint = 'web'){
    
$url = "http://ajax.googleapis.com/ajax/services/search/".$endpoint;
    
if ( !array_key_exists('v', $args) )
        
$args['v'] = '1.0';
    
$url .= '?'.http_build_query($args, '', '&');
    
$ch = curl_init();
    
curl_setopt($ch, CURLOPT_URL, $url);
    
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    
curl_setopt($ch, CURLOPT_REFERER, $referer);
    
$body = curl_exec($ch);
    
curl_close($ch);
    
return json_decode($body);
}
 
// 使用示例
$rez = google_search_api(array(
    
'q' => '21andy.com', // 查询内容
    
'key' => '你申请到的API KEY',
    
'userip' => '你的IP地址',
 
));
header('Content-type: text/html; charset=utf-8;');
echo '<xmp>';
print_r($rez);
echo '</xmp>';

Incoming search terms:

Tags: Google AJAX Search API

本文地址: http://blog.21andy.com/20100311/1773.html