bing搜索php,PHP 使用bing搜索网站的api封装类用法

/**

* 使用bing api搜索网站的PHP封装类

*

* @param

* @author 编程之家 jb51.cc jb51.cc

**/

class BingAPI{

var $accountKey = '';

var $ServiceRootURL = 'https://api.datamarket.azure.com/Bing/Search/';

var $WebSearchURL;

var $searchText;

var $searchType;

var $request_data;

var $AutoGet = true;

var $ReturnType = 'JSON'; //Options: JSON,ARRAY

var $ResultsLimit = 10;

function __construct(){

}

function setQuery_Type($query,$type){

$this->searchText = $query;

switch($type){

case 'Web':$this->searchType = 'Web';break;

case 'Image':$this->searchType = 'Image';break;

case 'News':$this->searchType = 'News';break;

case 'Video':$this->searchType = 'Video';break;

case 'Related':$this->searchType = 'RelatedSearch';break;

}

$this->createURL();

}

function createURL(){

$this->WebSearchURL = $this->ServiceRootURL . $this->searchType .'?$format=json&$top='.$this->ResultsLimit.'&Query=';

$this->context = stream_context_create(array(

'http' => array(

'request_fulluri' => true,'header' => "Authorization: Basic " . base64_encode($this->accountKey . ":" . $this->accountKey)

)

));

$this->request = $this->WebSearchURL . urlencode( '\'' . $this->searchText . '\'');

if($this->AutoGet){

$this->get();

}

}

function get(){

$response = file_get_contents($this->request,$this->context);

$this->request_data = json_decode($response);

}

function decoded_data(){

$r_array = array();

switch($this->searchType){

case 'Web':

$obj = $this->request_data->d->results;

$ic = count($obj);

for($i=0;$i

$r_array[$i] = array('Title'=>$obj[$i]->Title,'Description'=>$obj[$i]->Description,'Url'=>$obj[$i]->Url);

}

break;

case 'Image':

$obj = $this->request_data->d->results;

$ic = count($obj);

for($i=0;$i

$r_array[$i] = array('Title'=>$obj[$i]->Title,'MediaURL'=>$obj[$i]->MediaUrl,'Width'=>$obj[$i]->Width,'Height'=>$obj[$i]->Height,'ContentType'=>$obj[$i]->ContentType,'Thumbnail'=>$obj[$i]->Thumbnail->MediaUrl);

}

break;

case 'News':

$obj = $this->request_data->d->results;

$ic = count($obj);

for($i=0;$i

$r_array[$i] = array('Title'=>$obj[$i]->Title,'Url'=>$obj[$i]->Url,'Source'=>$obj[$i]->Source,'Date'=>$obj[$i]->Date);

}

break;

case 'Video':

$obj = $this->request_data->d->results;

$ic = count($obj);

for($i=0;$i

$r_array[$i] = array('Title'=>$obj[$i]->Title,'MediaUrl'=>$obj[$i]->MediaUrl,'DisplayUrl'=>$obj[$i]->DisplayUrl,'Runtime'=>$obj[$i]->Runtime,'Thumbnail'=>$obj[$i]->Thumbnail->MediaUrl);

}

break;

case 'RelatedSearch':

$obj = $this->request_data->d->results;

$ic = count($obj);

for($i=0;$i

$r_array[$i] = array('Keyword'=>$obj[$i]->Title);

}

break;

}

switch($this->ReturnType){

case 'JSON':return json_encode($r_array);

case 'ARRAY':return $r_array;

}

}

}

/*** 来自编程之家 jb51.cc(jb51.cc) ***/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值