用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.ini 中文版
Oct 28 PHP
PHP获取网卡地址的代码
Apr 09 PHP
PHP5+UTF8多文件上传类
Oct 17 PHP
apache+php完美解决301重定向的两种方法
Jun 08 PHP
PHPThumb PHP 图片缩略图库
Mar 11 PHP
PHP超级全局变量数组小结
Oct 04 PHP
基于preg_match_all采集后数据处理的一点心得笔记(编码转换和正则匹配)
Jan 31 PHP
PHP判断是否有Get参数的方法
May 05 PHP
destoon调用discuz论坛中带图片帖子的实现方法
Aug 21 PHP
php删除左端与右端空格的方法
Nov 29 PHP
PHP实现文件上传和多文件上传
Dec 24 PHP
PHP程序员简单的开展服务治理架构操作详解(二)
May 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
php创建多级目录代码
2008/06/05 PHP
php ignore_user_abort与register_shutdown_function 使用方法
2009/06/14 PHP
php后门URL的防范
2013/11/12 PHP
PHP技术开发微信公众平台
2015/07/22 PHP
fsockopen pfsockopen函数被禁用,SMTP发送邮件不正常的解决方法
2015/09/20 PHP
详解WordPress中给链接添加查询字符串的方法
2015/12/18 PHP
PHP抽象类与接口的区别实例详解
2019/05/09 PHP
escape、encodeURI 和 encodeURIComponent 的区别
2009/03/02 Javascript
用javascript获取当页面上鼠标光标位置和触发事件的对象的代码
2009/12/09 Javascript
jquery.ui.draggable中文文档(原文翻译)
2013/11/15 Javascript
基于jQuey实现鼠标滑过变色(整行变色)
2015/12/07 Javascript
基于bootstrap插件实现autocomplete自动完成表单
2016/05/07 Javascript
基于MVC+EasyUI的web开发框架之使用云打印控件C-Lodop打印页面或套打报关运单信息
2016/08/29 Javascript
javascript 判断页面访问方式电脑或者移动端
2016/09/19 Javascript
Mui使用jquery并且使用点击跳转新窗口的实例
2017/08/19 jQuery
vue中遇到的坑之变化检测问题(数组相关)
2017/10/13 Javascript
vue+element实现批量删除功能的示例
2018/02/28 Javascript
详谈vue+webpack解决css引用图片打包后找不到资源文件的问题
2018/03/06 Javascript
详解Vscode中使用Eslint终极配置大全
2019/11/08 Javascript
Vuex实现数据增加和删除功能
2019/11/11 Javascript
深入理解Antd-Select组件的用法
2020/02/25 Javascript
《javascript设计模式》学习笔记七:Javascript面向对象程序设计组合模式详解
2020/04/08 Javascript
vue开发简单上传图片功能
2020/06/30 Javascript
python 多进程通信模块的简单实现
2014/02/20 Python
python psutil库安装教程
2018/03/19 Python
numpy中的高维数组转置实例
2018/04/17 Python
Python之两种模式的生产者消费者模型详解
2018/10/26 Python
印度网上购物首选目的地:Flipkart
2016/08/01 全球购物
德国知名健康零食网上商店:Seeberger
2017/07/27 全球购物
娇韵诗加拿大官网:Clarins加拿大
2017/11/20 全球购物
英国领先的男装设计师服装购物网站:Mainline Menswear
2018/02/04 全球购物
美国围栏公司:Walpole Outdoors
2019/11/19 全球购物
Win11 Build 22000.51版本文件资源管理器“命令栏”和上下文菜单有什么新变化?
2021/11/21 数码科技
浅析Python OpenCV三种滤镜效果
2022/04/11 Python
JS中forEach()、map()、every()、some()和filter()的用法
2022/05/11 Javascript
Win11 Beta 22621.601 和 22622.601今日发布 KB5017384修复内容汇总
2022/09/23 数码科技