注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

@fc_lamp

关注Web应用解决方案MySql/PHP/Python一盏名为"飞川"的灯~

 
 
 

日志

 
 

Googel Search Api with PHP  

2010-09-14 12:16:00|  分类: Web技术-Php |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
Googel Search Api with PHP

目前google Search Api包含
(来源于官网)

Searcher Base Url Web Search http://ajax.googleapis.com/ajax/services/search/web Local Search http://ajax.googleapis.com/ajax/services/search/local Video Search http://ajax.googleapis.com/ajax/services/search/video Blog Search http://ajax.googleapis.com/ajax/services/search/blogs News Search http://ajax.googleapis.com/ajax/services/search/news Book Search http://ajax.googleapis.com/ajax/services/search/books Image Search http://ajax.googleapis.com/ajax/services/search/images Patent Search http://ajax.googleapis.com/ajax/services/search/patent

一个简单的google search api with php 如下:

先看代码:

<?php header("Content-type:text/html;charset=utf-8");?>
<html>
<head>
<title>Google Search Api</title>
</head>
<body>
<h3>Google Search Api</h3>
<form action="test.php" method="post">
<input type="text" name="keywords" value="<?php echo empty($_POST['keywords']) ? '' : $_POST['keywords'];?>"/>
<input type="submit" value="查询"/>
</form>
</body>
<?php

if(isset($_POST['keywords'])){
google_search_api('http://www.mysite.com/index.html',array('v'=>'1.0','q'=>$_POST['keywords']));???
}

function google_search_api($refere='http://www.google.com',$args = array()){

$v = !array_key_exists('v',$args) ?? '1.0' : $args['v'];
$q = !array_key_exists('q',$args) ? '' : urlencode($args['q']);

$url = "http://ajax.googleapis.com/ajax/services/search/web?v=$v&q=$q";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_REFERER, "http://www.mysite.com/index.html");
$body = curl_exec($ch);
curl_close($ch);

$json = json_decode($body,true);???

//析结果
$html = '<h3>搜索结果</h3>';
if(!empty($json['responseData']['results'])){

foreach($json['responseData']['results'] as $value){
$html .= '<ul style="list-style:none;">';
$html .= '<li><a href="'.$value['url'].'">'.$value['title'].'</a></li>';
$html .= '<li>'.$value['content'].'</li><li>'.$value['url'].'</li>';
$html .= '</ul>';???
}
}else{
$html .= '<div>对比起,没有搜索到与<font color="red">'.$args['q'].'</font>相关的结果。</div>';
}
echo $html;
}
?>
</html>


有兴趣的朋友可以把此段代码考到本地直接运行试一试。

结果如图:

Googel Search Api with PHP - fc-lamp - fc-lamp的博客


另注: 1 google search api 的官方文档:
http://code.google.com/intl/zh-CN/apis/ajaxsearch/documentation/#fonje

google其他搜索项目标准API url 参数设置等可看此文档:
http://code.google.com/intl/zh-CN/apis/ajaxsearch/documentation/reference.html#_intro_fonje


2? 对于不清楚curl用法的朋友可以在google里搜搜,或者看此文章:

????????????????? http://hi.baidu.com/fc_lamp/blog/item/2a1b4e23c9b3f2fad6cae277.html

3 改进:
后来我又写了一个类:为了适应google的所有搜索器:

?? require_once './google_search_api.class.php';
$search = new google_search_api();
$search->ini('http://www.mysite.com/index.html','local',array('v'=>'1.0','q'=>$_POST['keywords']));
$reslut = $search->search(FALSE);
echo '<pre>';
var_dump($reslut);exit;

  评论这张
 
阅读(188)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017