第三方搜索API的记录

有时候需要在自己的网站上使用第三方搜索引擎来搜索站外资源的时候,这个时候就需要使用到第三方的搜索引擎的API了。

首先是搜索关联关键词的API,这几个接口通过jsonp的形式可以获取到对应的联想词,可以做搜索提示。

    // 百度自定义jsonp的回调
    function func(res) {
      console.log('baidu = ', res);
    }

    // 搜狗不允许自定义jsonp的回调
    window.sogou = {};
    window.sogou.sug = function(res) {
      console.log('sougou = ', res);
    }

    // 360自定义jsonp回调
    function suggest_so(res) {
      console.log('360 = ', res);
    }

    // 淘宝获取关联的搜索关键字
    function taobaoFunc(res) {
      console.log('taobao = ', res);
    }

    // 另一个接口的关联关键字
    function showData(res) {
      console.log('bbb = ', res);
    }
  </script>
  <!-- 百度获取搜索关联关键字 -->
  <script src="http://suggestion.baidu.com/su?wd=设计&p=3&cb=func"></script>
  <script src="https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=这就是&cb=showData"></script>
  <!-- 搜狗获取搜索关联关键字 -->
  <script src="http://w.sugg.sogou.com/sugg/ajaj_json.jsp?key=设计&type=web"></script>
  <!-- 360获取搜索关联关键字 -->
  <script src="https://sug.so.360.cn/suggest?callback=suggest_so&word=设计"></script>
  <!-- 淘宝获取搜索关键字 -->
  <script src="http://suggest.taobao.com/sug?area=etao&code=utf-8&callback=taobaoFunc&q=设计"></script>

再就是获取搜索结果的接口,必应搜索提供相关的接口,不过只有七天的试用期,后面就要收费了

    axios.defaults.headers.common['Ocp-Apim-Subscription-Key'] = '你的密钥';
    axios.get('https://api.cognitive.microsoft.com/bing/v7.0/search?q=英语&count=50&offset=50').then(res => {
      console.log(res);
    })

百度搜索也提供了免费的搜索接口

  • 效果如图:
    // api地址,由于这个接口不支持跨域,不支持jsonp,所以建议是在自己的服务端做一层封装后再使用,目前发现服务端请求时,会进行cookies的验证,所以想要使用还得模拟相应的验证信息,或者配置一个nginx的代理,把端口代理到百度的地址上去
    // https://www.baidu.com/s?wd=关键词&tn=json,tn也不知道是啥参数,反正等于json返回的就是json了
    /* 百度搜索相关的参数说明(部分)
    wd: 'keyword -(black1 | black2)', // 关键词过滤黑名单,keyword为需要搜索的关键词,black1,black2为需要过滤掉的关键词
    pn: 0, // 以10为基数进行翻页,10就是第二页。20就是第三页
    rn: 10, // 每页显示的条数10-100
    ie: 'utf-8', // 文字编码
    q6: 'soso.com', // 在限制的域名中搜索
    lm: 30, // 以天为单位,搜索结果的时间限制
    q5: 搜索内容网站限制,0-所有内容,1-标题 */

纯手打,如果对你有用处,就点个赞,留个言呗

原文地址:https://www.cnblogs.com/aloneMing/p/12753391.html