Andy's Blog » google search api php, google search api, search api, google api php 源码, GwebSearch, php Image search api, PHPGoogleSearchAPI|AndysBlog, php google search api, google api for search » PHP Google Search API

PHP Google Search API

直接命令行用 curl 命令试一下

curl -e http://www.my-ajax-site.com \
 'http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=Paris%20Hilton&callback=foo&context=bar'

Google Search API 返回的结果是 JOSN 数据,和如下类似:

processResults({"responseData": {
 
"results": [
 
{
  
"GsearchResultClass": "GwebSearch",
  
"unescapedUrl": "http://en.wikipedia.org/wiki/Paris_Hilton",
  
"url": "http://en.wikipedia.org/wiki/Paris_Hilton",
  
"visibleUrl": "en.wikipedia.org",
  
"cacheUrl": "http://www.google.com/search?q\u003dcache:TwrPfhd22hYJ:en.wikipedia.org",
  
"title": "\u003cb\u003eParis Hilton\u003c/b\u003e - Wikipedia, the free encyclopedia",
  
"titleNoFormatting": "Paris Hilton - Wikipedia, the free encyclopedia",
  
"content": "\[1\] In 2006, she released her debut album..."
 
},
 
{
  
"GsearchResultClass": "GwebSearch",
  
"unescapedUrl": "http://www.imdb.com/name/nm0385296/",
  
"url": "http://www.imdb.com/name/nm0385296/",
  
"visibleUrl": "www.imdb.com",
  
"cacheUrl": "http://www.google.com/search?q\u003dcache:1i34KkqnsooJ:www.imdb.com",
  
"title": "\u003cb\u003eParis Hilton\u003c/b\u003e",
  
"titleNoFormatting": "Paris Hilton",
  
"content": "Self: Zoolander. Socialite \u003cb\u003eParis Hilton\u003c/b\u003e..."
 
},
  ...
 
],
 
"cursor": {
 
"pages": [
  
{ "start": "0", "label": 1 },
  
{ "start": "4", "label": 2 },
  
{ "start": "8", "label": 3 },
  
{ "start": "12","label": 4 }
 
],
 
"estimatedResultCount": "59600000",
 
"currentPageIndex": 0,
 
"moreResultsUrl": "http://www.google.com/search?oe\u003dutf8\u0026ie\u003dutf8..."
 
}
}
,
"responseDetails": null, "responseStatus": 200})

PHP 使用 Google Search API 的方法,很简单,主要是需要申请一个 API key
申请地址:http://code.google.com/apis/ajaxsearch/signup.html

// 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...

Incoming search terms:

Tags: PHP, API, API key, Google Search API

本文地址: http://www.21andy.com/new/20100919/1953.html

1 评论 to “PHP开源CMS之MODx”

  1. 石家庄鲜花 于 2010-09-21 21:39:12 发表:

    强!太强大了!崇拜!

    石家庄鲜花:http://www.dzrxh.com/