用PHP获取Google AJAX Search API 数据的代码


Posted in PHP onMarch 12, 2010

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 = 'https://3water.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>';
PHP 相关文章推荐
《PHP边学边教》(02.Apache+PHP环境配置――上篇)
Dec 13 PHP
全局记录程序片段的运行时间 正确找到程序逻辑耗时多的断点
Jan 06 PHP
PHP文件读写操作之文件读取方法详解
Jan 13 PHP
PHP中使用数组实现堆栈数据结构的代码
Feb 05 PHP
PHP中HTML标签过滤技巧
Jan 07 PHP
php实现的mongodb操作类实例
Apr 03 PHP
PHP文件上传问题汇总(文件大小检测、大文件上传处理)
Dec 24 PHP
PHP转换文本框内容为HTML格式的方法
Jul 20 PHP
关于laravel后台模板laravel-admin select框的使用详解
Oct 03 PHP
Laravel 解决composer相关操作提示php相关异常的问题
Oct 23 PHP
php把文件设置为插件的技巧方法
Feb 03 PHP
基于php解决json_encode中文UNICODE转码问题
Nov 10 PHP
PHP开启gzip页面压缩实例代码
Mar 11 #PHP
php checkdate、getdate等日期时间函数操作详解
Mar 11 #PHP
PHP 5.3新特性命名空间规则解析及高级功能
Mar 11 #PHP
PHP Memcached + APC + 文件缓存封装实现代码
Mar 11 #PHP
了解Joomla 这款来自国外的php网站管理系统
Mar 11 #PHP
PHP调用Twitter的RSS的实现代码
Mar 10 #PHP
PHP中include()与require()的区别说明
Mar 10 #PHP
You might like
帝国cms常用标签汇总
2015/07/06 PHP
php中__toString()方法用法示例
2016/12/07 PHP
在textarea文本域中显示HTML代码的方法
2007/03/06 Javascript
Javascript之旅 对象的原型链之由来
2010/08/25 Javascript
学习并汇集javascript匿名函数
2010/11/25 Javascript
用nodejs实现PHP的print_r函数代码
2014/03/14 NodeJs
jquery中EasyUI实现异步树
2015/03/01 Javascript
javascript表格隔行变色加鼠标移入移出及点击效果的方法
2015/04/10 Javascript
JavaScript面向对象编写购物车功能
2016/08/19 Javascript
Vue计算属性的学习笔记
2017/03/22 Javascript
javascript编写简易计算器
2017/05/06 Javascript
静态页面实现 include 引入公用代码的示例
2017/09/25 Javascript
webpack引入eslint配置详解
2018/01/22 Javascript
详解关于Vue版本不匹配问题(Vue packages version mismatch)
2018/09/17 Javascript
jquery实现掷骰子小游戏
2019/10/24 jQuery
[01:55]2014DOTA2国际邀请赛快报:国土生病 紧急去医院治疗
2014/07/10 DOTA
Python中执行存储过程及获取存储过程返回值的方法
2017/10/07 Python
Python代码实现KNN算法
2017/12/20 Python
Django2.1集成xadmin管理后台所遇到的错误集锦(填坑)
2018/12/20 Python
Django如何实现网站注册用户邮箱验证功能
2019/08/14 Python
在pytorch中对非叶节点的变量计算梯度实例
2020/01/10 Python
Python文件操作的面试题
2013/06/22 面试题
《再别康桥》教学反思
2014/02/12 职场文书
市场开发与营销专业求职信范文
2014/05/01 职场文书
竞聘演讲稿开场白
2014/08/25 职场文书
关于感恩的演讲稿500字
2014/08/26 职场文书
依法行政工作汇报
2014/10/28 职场文书
先进典型事迹材料
2014/12/29 职场文书
学校教师师德师风承诺书
2015/04/28 职场文书
民事调解书范文
2015/05/20 职场文书
行政诉讼答辩状
2015/05/21 职场文书
纪检监察立案决定书
2015/06/24 职场文书
2016年公司中秋节致辞
2015/11/26 职场文书
JS实现简单控制视频播放倍速的实例代码
2021/04/18 Javascript
python实现过滤敏感词
2021/05/08 Python
python开发飞机大战游戏
2021/07/15 Python