PHP处理google cse的json

处于Google 被屏蔽,所以Google 有很多不错的产品被忽略。google cse 俗称自定义搜索。可以自己设置输出的结果,就有很多网盘搜索,就用的就是Google cse 的接口。

无意看到某某程序用的是这个google cse,网上流传的版本太老不能用了。
才去关注了一下这个google cse。

<p><script src="//www.google.com/jsapi" type="text/javascript"></script>
<script type="text/javascript">
google.load('search', '1', {language : 'zh-CN'});
google.setOnLoadCallback(function() {
var customSearchControl = new google.search.CustomSearchControl('你的CSE ID ');
customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
customSearchControl.draw('cse');
}, true);
</script></p>
抓包发现google cse的真实的输出来自www.googleapis.com文件格式是json,本来想自己改的。
后来和作者沟通,他说他的新版也是用这个Googleapis 了。找了一下他的相关文件inc/core.php,替换成为这一段代码,老版本就能使用了。
$url = 'https://www.googleapis.com/customsearch/v1element?key=AIzaSyCVAXiUzRYsML1Pv6RwSG1gunmMikTzQqY&rsz=filtered_cse&num=10&hl='.$lang.'&prettyPrint=false&source=gcsc&gss=.com&start='.$start.'&sig=3aa157001604e3bc243e85b7344d5d15&cx='.$cx.'&q='.$s.'&sort=&googlehost=www.google.com&oq=&gs_l=partner.3…19547.19547.2.19774.1.0.1.0.0.0.0.0..0.0.gsnos%2Cn%3D13…0.19575j199944787j8j1..1ac.4.25.partner..3.0.0.5WN0Nw6KX70&callback=google.search.Search.apiary12956&nocache='.time();
$contents = trim($contents);
$contents = $contents.'||hsmw';
$jsondata = huoduan_get_body($contents,'google.search.Search.apiary12956(',');||hsmw',1);
$contents = json_decode ( $jsondata, true );
foreach($contents['results'] as $k=>$v){
$list['data'][$k]['title'] = $v['title'];
$list['data'][$k]['link'] = urldecode($v['url']);
$list['data'][$k]['des'] = $v['content'];
$list['data'][$k]['blink'] = $v['formattedUrl'];
$list['data'][$k]['host'] = $v['visibleUrl'];
$list['data'][$k]['more'] = $v['richSnippet'];
}
$list['count'] = $contents['cursor']['resultCount'];
$list['count'] = str_replace(',','',$list['count']);
$list['q'] = $q;
$list['p'] = $p;

没有评论:

发表评论

Follow Us

FOLLOW US

Blog Archive

Comments

Blogger 提供支持.

Search This Blog

Tags

header ads