百度站内搜索https不可用切换api搜索,加上谷歌api站内搜索
google推https几年了,百度开始宣传全面https,但是,百度站内搜索 自己的服务却不走https,接口报错。百度分享也是。
然后采用http://search.zhoulujun.cn/cse/search ,用了7-8个月的样子,还是继续,不声不响地 改变了配置了,突然就不通了——而且什么时候不通的都不知道
无赖,无奈,只有用google 自定义搜索引擎,用api 接口弄好
用google search API配置google站内搜索
谷歌搜索引擎定制化页面地址
https://cse.google.com/cse/setup/basic?cx=009558619093950188775:b3wc7giu_hw
复制 搜索引擎 ID ,保存
拖到最下面,找到
自定义搜索 JSON API
每天的查询数上限为 10000 次。
直接打开连接,可以阅读下内容,了解下
在此https://developers.google.com/custom-search/v1/overview
页面找到 API key,点击 GET A KEY 按钮,
复制key,保存
然后拼凑如下地址:
就是你的谷歌自定义站内搜索引擎
谷歌的就完成了,再来看下百度:
用百度站内搜索api配置百度站内搜索
登录百度站内页面,点击 进入API管理后台
新建搜索引擎,点击 代码示例
在代码里面获取如下代码地址:http://zhannei.baidu.com/api/customsearch/apiaccept?sid=6351075239166713563&v=2.0&callback=init
直接下载,上传自己服务,引用。
然后配置如下代码
var cse ; //参数为您的API引擎ID,已自动填写,必需。
var form=document.querySelector('searchBaidu-bd');//关键词输入框
var textInput=document.getElementById('bdcsMain');//关键词输入框
var btnInput=document.getElementById("search");//搜索按钮
var listBox=document.getElementById("list");//搜索结果列表框
var exchange=document.getElementById("exchange");//搜索结果列表框
var exchangeEngine=document.getElementById("exchangeEngine");//搜索结果列表框
var searchEngine=document.getElementById("searchEngine");//搜索结果列表框
let params=getUrlParams(window.location.search);
let initKeyword=params['q'];
if(initKeyword){
initKeyword=decodeURIComponent(initKeyword);
textInput.value=initKeyword;
}
var googleEnable=false;
function getUrlParams(str){
let obj={};
str.replace(/([^&=?]+)=([^&=?]*)/g,function (str,$1,$2) {
obj[$1]=$2;
return str;
}); return obj;
} function searchBaidu (text) {
cse.getResult(text, function (data) {
console.info('百度搜索结果');
console.log(data);
createList(data,listBox)
});
} function init () {
cse= new BCse.Search("6351075239166713563");
initKeyword&&searchBaidu(initKeyword);
} function createList(arr,select){
var str='';
if(arr&&arr.length){
let tempArr = arr.map(function (data) {
return ' <li class="article-li ">' +
' <a class="" href="'+data.linkUrl+'" target="_blank">'+data.title+'</a>' +
' <time>'+data.dispTime+'</time>' +
' </li>';
});
str=tempArr.join('');
}else {
str='<li> 没有找到相关内容——the suitable context had not been found all the time. </li>';
} select.innerHTML=str;
searchEngine.innerHTML='百度';
exchangeEngine.innerHTML='切换为谷歌搜索';
}
btnInput.addEventListener('click',function (e) {
e.preventDefault();
var text=textInput.value;
if(googleEnable){
text&&searchByGoogle(text);
}else {
text&&searchBaidu(text);
}
}); exchange.addEventListener('click',function (e) {
e.preventDefault();
window.location='?m=search&c=index&a=init&siteid=1&typeid=1&q='+textInput.value;
});
exchangeEngine.addEventListener('click',function (e) {
e.preventDefault();
var text=textInput.value;
console.info('exchangeEngine.innerText');
console.log('__________');
if(exchangeEngine.innerText==='切换为百度搜索'){
text&&searchBaidu(text);
googleEnable=true;
return false;
}else {
text&&searchByGoogle(text);
googleEnable=false;
return false;
} }); function hndlr(response) {
// console.log(JSON.stringify(response));
console.log(response);
var str='';
if(response&&response.items&&response.items.length){ let tempArr = response.items.map(function (data) {
return ' <li class="article-li ">' +
' <a class="" href="'+data.link+'" target="_blank">'+data.htmlTitle+'</a>' +
' </li>';
});
str=tempArr.join(''); }else {
str='<li>没有找到相关内容</li>';
}
listBox.innerHTML=str;
searchEngine.innerHTML='谷歌';
exchangeEngine.innerHTML='切换为百度搜索';
} function searchByGoogle(keyword){
$.ajax({
type: 'GET',
url: 'https://www.googleapis.com/customsearch/v1',
data: {
q: keyword,
key:'AIzaSyC_pehzzjm8_6lbsegGNgct1-LaACSpvkM',
cx:'009558619093950188775:b3wc7giu_hw',
siteSearch: 'zhoulujun.cn' },
dataType: 'json',
success: function (data) {
console.info('google搜索结果');
console.log(data);
googleEnable=true;
hndlr(data)
},
error:function (data) {
hndlr();
// let timer=setTimeout(function () {
// searchBaidu(textInput.value);
// clearTimeout(timer);
// },800)
} });
} searchByGoogle(initKeyword);
/*function setBaidu () {
var scriptEle=document.createElement('script');
scriptEle.src="{JS_PATH_CDN}andy/baidu.zn.js";
document.body.appendChild(scriptEle);
}*/
具体代码和效果可以参看:
https://www.zhoulujun.cn/index.php?m=content&c=index&a=lists&catid=204&q=%E6%93%8D
没有做代码优化,只是抽点空把自己网站功能修复而已
按上面的操作的和应该可以配置
百度站内搜索https不可用切换api搜索,加上谷歌api站内搜索的更多相关文章
- PHPCMS站内搜索功能实现方法汇总,一文解决PHPCMS站内搜索问题
1,https://blog.csdn.net/hzw19920329/article/details/80110673 点评:phpcms搜索功能实现方法,作者基于PHPCMS做个门户网站实现站内搜 ...
- 我的B站主页:https://space.bilibili.com/611212 内有视频题解
我的B站主页:https://space.bilibili.com/611212 内有视频题解
- WordPress整站轻松开启HTTPS
近两年来HTTPS取代HTTP已经成为大势所趋.早在2014年google Chromium安全团队提议将所有的HTTP协议网站标注为不安全.现在,Chrome浏览器已经开始执行这一标准了.从 Chr ...
- 【百度地图API】如何区分地址解析和智能搜索?
原文:[百度地图API]如何区分地址解析和智能搜索? 摘要: 很多用户一直无法区分地址解析geocoder和智能搜索localsearch的使用场景.该文章用一个详尽的示例,充分展示了这两个类,共5种 ...
- centos 特殊权限 各种搜索命令 lsattr ,chattr,suid,sgid,sbit,file,type是否是内置命令,stat文件属性 ,whereis,locate,find,ln 内部命令和外部命令 第五节课
centos 特殊权限 各种搜索命令 lsattr ,chattr,suid,sgid,sbit,file,type是否是内置命令,stat文件属性 ,whereis,locate,find,ln ...
- 百度分享不支持https的解决方案
站点自从开启 https 之后 ,百度分享就不能用了!但是又寻找不到类似百度分享的替代品.. 怎么办呢?要如何解决 百度分享不支持https的问题呢, 跟着博主动动手,让你百度分享仍然能在https下 ...
- 搭建实时同步data guard的最高可用-切换主备
搭建实时同步data guard的最高可用-切换主备 首先保证主库在归档模式下:错过N次了 准备二台机器(hostname gw hosts ech0)host-only [root@node1 ~] ...
- 【百度地图API】如何制作公交线路的搜索?如331路
原文:[百度地图API]如何制作公交线路的搜索?如331路 摘要: 从A点到B点的公交导航大家都知道怎么做了,那么单独查询331路公交车的公交路线,如何制作呢?我们一起来学习一下~ --------- ...
- 百度分享不支持Https的解决方案--本地化
站点自从开启 https 之后 ,百度分享就不能用了!但是又寻找不到类似百度分享的替代品.. 怎么办呢?要如何解决 百度分享不支持https的问题呢, 跟着博主动动手,让你百度分享仍然能在https下 ...
随机推荐
- WebLogic使用总结(一)——WebLogic安装
一.下载WebLogic 到Oracle官网http://www.oracle.com/ 下载WebLogic(根据自己的情况选择),本文档下载的是Generic WebLogic Server an ...
- 如何在 code blocks中使用 mkl库
为了安装caffe, 所以安装了mkl, 现在想在codeblock的项目中使用mkl. 设置mkl环境变量: mkl安装好后默认是在/opt/intel/mkl中,其中/opt/intel/mkl/ ...
- python#读csv,excel,json数据
#读csv,excel,json数据 with open('E:\\test\\xdd.csv','r') as f: for line in f.readlines(): print(line) i ...
- 给出两个单词word1和word2,写一个函数计算出将word1 转换为word2的最少操作次数。
问题: 给出两个单词word1和word2,写一个函数计算出将word1 转换为word2的最少操作次数. 你总共三种操作方法: 1.插入一个字符 2.删除一个字符 3.替换一个字符 格式: 输入行输 ...
- CSS3 三次贝塞尔曲线(cubic-bezier)
例子:transition:all 1s cubic-bezier(.21,.2,.65,.1) 最近在看animation模块,其中animation-timing-function 和 trans ...
- Centos7 编译安装 Nginx PHP Mariadb Memcache扩展 ZendOpcache扩展 (实测 笔记 Centos 7.0 + Mariadb 10.1.9 + Nginx 1.9.9 + PHP 5.5.30)
环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7-x86_64-Minimal-1503-01.iso 安装步骤: 1.准备 1.1 ...
- harpoxy 配置
HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性.负载均衡,以及基于TCP和HTTP的应用程序代理. HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保 ...
- 电子产品使用感受之——我的Mac只有256GB,我的照片库该怎么办?
说实话我使用过的Mac中最大的默认存储可能就是2011年开始使用的MacBook Pro了,机器型号大概是MC700,这台机器当年自带320GB 5400转机械硬盘,直到2016年因为使用率太高,机械 ...
- java--List、Set、Map的基础
好像面试很多面试官都喜欢问这它们的一些问题,所以在这里我稍微总结一下,并把大佬们的文章链接贴在后面. 首先我们借鉴了https://www.cnblogs.com/SnowingYXY/p/67273 ...
- Install VirtualBox Guest Additions for elementary os
Pls refer to: Install VirtualBox Guest Additions for elementary os