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
没有做代码优化,只是抽点空把自己网站功能修复而已
按上面的操作的和应该可以配置