/**

* 使用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) ***/

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

  1. bing 高级搜索_如何使用Bing的高级搜索运算符:更好搜索的8条提示

    bing 高级搜索 Google may still be the top search engine, but Bing is starting to stand on its own. Bing ...

  2. 百度搜索资源平台添加自己的网站

    参考 百度搜索资源平台添加自己的网站:https://blog.csdn.net/qq_36852780/article/details/104673134 腾讯云的域名管理找了半个小时没找到, ht ...

  3. 一个搜索框多个按钮_网站搜索栏设计指南:要不要?怎么设计?

    在网站的设计过程中,搜索栏是一个很容易被忽略的部分,但用户却依赖它来寻找特定的信息.由于搜索栏是网站中最常用的元素之一,所以搜索栏的设计对用户体验有着重要的影响. 网站是否需要搜索栏?搜索栏使用背后的 ...

  4. beautifulsoup 搜索第二个标签_自定义网站搜索教程

    1.说明 自定义网站源是为了更大限度的扩展搜索结果,如果不会自定义也没关系,使用APP中推荐源就可以了,推荐源免嗅探,直接就能播放. 2.基本原理与参数 自定义站源规则,说白了就是APP直接请求所填的 ...

  5. 【初码干货】使用阿里云开放搜索服务快速搭建资源搜索网站

    大家好,我又来了,答应云栖论坛一周一篇文章, 由于工作太忙已中断1个多月实在抱歉,这一次写点轻松有趣的东西-快速的做个资源搜索站 依稀记得十来年前,带宽还只有2M的时候,受各个论坛启发,做了可以搜索嘿 ...

  6. 如何搜索论文对应的参考文献 | 学术网站 分析 + 推荐 |

    博文–论文下载哪家强 | caj 官网软件下载 本文 – 搜索论文对应的参考文献 方法初步汇总 搜索论文对应的参考文献 学术网站 分析 是的,首先我们会想到百度学术 或者 知网 知网 检索 个人推荐 ...

  7. 百度站长HTML添加301错误,搜索资源平台(百度站长)添加网站 使用文件验证 验证失败,原因:未知原因:301的解决办法...

    搜索资源平台(百度站长)添加网站 使用文件验证 验证失败,原因:未知原因:301的解决办法 之前使用过百度站长后台添加新的网站时,从没遇到过问题,一般都是选择第一种验证方式(文件验证),文件验证应该是 ...

  8. 百度搜索将推出“惊雷算法”打击网站刷点击作弊行为

    百度站长平台11月刚改版为百度搜索资源平台,各位站长应该还记得"闪电算法"吧?上个月的闪电让各位站长吃的消吗?而今天,就在今天凌晨百度搜索资源平台发布新的算法预告"惊雷算 ...

  9. seo网站关键词优化-搜索词和搜索结果观察_百度搜索

    本篇通过2个搜索内容来介绍一下百度搜索内容和搜索结果之间的关系观察. 话不多说直捣黄龙. 例1:在百度首页搜索框中输入"200x100热镀锌槽式直通价格"进行搜索 1.搜索内容分词 ...

最新文章

  1. 服务器的文件共享,服务器文件共享设置
  2. 怎么才能领取到外卖红包呢
  3. 工程制图 (化工工艺流程图绘制 )
  4. sourceTree添加git密钥步骤
  5. java 客户化排序_第八部分_客户化JSP标签
  6. [ZJOI2006]超级麻将
  7. flutter版本的玩Android客户端
  8. jetCache使用
  9. 【Java】HBase_thrift/thrift2_使用指南
  10. android duiqi文字底部,Android中的文本/布局对齐(textAlignment,gravity)
  11. Machine Learning - XIV. Dimensionality Reduction降维 (Week 8)
  12. 【git】git的删除命令与如何删除仓库文件的方法
  13. Kubernetes Downward API的介绍及使用
  14. 烧牛肉,烧肥肠,泡椒兔,炸胡豆炸豌豆?做法指南
  15. Django项目部署至华为云服务器
  16. 如何设置计算机的休眠时间,电脑的睡眠时间如何设置?
  17. 基于Redis的分布式锁到底安全吗?
  18. 华擎主板bios设置图解_【华擎Z170评测】BIOS设置及超频方法简介_华擎 Z170 超频方程式_主板评测-中关村在线...
  19. RNA-seq——快速下载SRA数据、解决fq文件中测序质量全为 ‘?‘ 的问题
  20. 编程题目:使用C++语言模拟完成一个简单的计算机系统

热门文章

  1. 使用JavaParser从源文件中提取JavaDoc文档
  2. Java Syncrhonisers
  3. ANTLR和Jetbrains MPS:解析文件并以树符号显示AST
  4. jenkins api_接触Jenkins(Hudson)API,第1部分
  5. Lucene查询(搜索)语法示例
  6. rest spring_Spring的REST服务发现性,第5部分
  7. 如何使用Spring Security和Basic身份验证保护Jersey REST服务
  8. 休眠锁定模式–乐观锁定模式如何工作
  9. Java 8的烹调方式–拼图项目
  10. Java Micro-Benchmarking:如何编写正确的基准