用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+AJAX实现无刷新注册(带用户名实时检测)
Jan 02 PHP
PHP中函数内引用全局变量的方法
Oct 20 PHP
php后台程序与Javascript的两种交互方式
Oct 25 PHP
基于ubuntu下nginx+php+mysql安装配置的具体操作步骤
Apr 28 PHP
对PHP新手的一些建议(PHP学习经验总结)
Aug 20 PHP
thinkphp中ajax与php响应过程详解
Dec 08 PHP
PHP的Yii框架中使用数据库的配置和SQL操作实例教程
Mar 17 PHP
mysql查找删除重复数据并只保留一条实例详解
Sep 24 PHP
yii2简单使用less代替css示例
Mar 10 PHP
PHP生成各种随机验证码的方法总结【附demo源码】
Jun 05 PHP
Laravel中正确地返回HTTP状态码方法示例
Sep 10 PHP
Laravel服务容器绑定的几种方法总结
Jun 14 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
一个简洁的多级别论坛
2006/10/09 PHP
Look And Say 序列php实现代码
2011/05/22 PHP
PHP小偷程序的设计与实现方法详解
2016/10/15 PHP
php格式文件打开的四种方法
2018/02/24 PHP
js异或加解密效果代码
2008/06/25 Javascript
屏蔽Flash右键信息的js代码
2010/01/17 Javascript
javascript取消文本选定的实现代码
2010/11/14 Javascript
jQuery:delegate中select()不起作用的解决方法(实例讲解)
2014/01/26 Javascript
javascript版的in_array函数(判断数组中是否存在特定值)
2014/05/09 Javascript
js实现微信分享代码
2020/10/11 Javascript
JS实现随页面滚动显示/隐藏窗口固定位置元素
2016/02/26 Javascript
微信小程序  checkbox组件详解及简单实例
2017/01/10 Javascript
ie下js不执行的几种可能
2017/02/28 Javascript
微信小程序 ES6Promise.all批量上传文件实现代码
2017/04/14 Javascript
HTML5实现微信拍摄上传照片功能
2017/04/21 Javascript
解决vue-cli@3.xx安装不成功的问题及搭建ts-vue项目
2020/02/09 Javascript
[06:16]DOTA2守卫传承者——职业选手谈心路历程
2015/02/26 DOTA
python实现中文转换url编码的方法
2016/06/14 Python
python list是否包含另一个list所有元素的实例
2018/05/04 Python
python实现自主查询实时天气
2018/06/22 Python
Python利用ORM控制MongoDB(MongoEngine)的步骤全纪录
2018/09/13 Python
Python之两种模式的生产者消费者模型详解
2018/10/26 Python
Pandas之Fillna填充缺失数据的方法
2019/06/25 Python
python选取特定列 pandas iloc,loc,icol的使用详解(列切片及行切片)
2019/08/06 Python
Python 限定函数参数的类型及默认值方式
2019/12/24 Python
python软件都是免费的吗
2020/06/18 Python
Python 读取位于包中的数据文件
2020/08/07 Python
python自动打开浏览器下载zip并提取内容写入excel
2021/01/04 Python
小学班主任经验交流材料
2014/12/16 职场文书
2015年高校图书馆工作总结
2015/04/30 职场文书
2015双创工作总结
2015/07/24 职场文书
主婚人致辞精选
2015/07/28 职场文书
2019年XX公司的晨会制度及流程!
2019/07/23 职场文书
导游词之太湖
2019/10/08 职场文书
浅析Python中的套接字编程
2021/06/22 Python
教你修复 Win11应用商店加载空白问题
2021/12/06 数码科技