gpt4 book ai didi

google-custom-search - 自定义谷歌搜索 (CSE) : how add the query string at the end of the result links?

转载 作者:行者123 更新时间:2023-12-04 08:34:42 27 4
gpt4 key购买 nike

我正在寻找一种方法来配置 Google 自定义搜索以将所有搜索参数附加到生成的搜索结果 url 中,以便在目标页面上搜索参数是已知的。例如。如果查询是“mot1 mot2”,则应将类似“?keyword=mot1+mot2”的内容附加到页面 url。

如果这不可能,我如何确定用于查找特定页面的搜索查询,以便我可以突出显示该页面上的搜索词?

这是我当前的 Google 自定义搜索脚本:

      <script>
(function() {
var cx = 'xxx:xxxx';
var gcse = document.createElement('script');
gcse.type = 'text/javascript';
gcse.async = true;
gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') + '//cse.google.com/cse.js?cx=' + cx;
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(gcse, s);

// AJOUT: Create a Custom Search Element
var options = {}
options[google.search.Search.RESTRICT_EXTENDED_ARGS] = {'as_sitesearch' : 'www.monsite.org/rep1/'};
var customSearchControl = new google.search.CustomSearchControl(cx, options);
})();
</script>
<gcse:search></gcse:search>

非常感谢! ;-))

最佳答案

无论您尝试做什么,最好(并且更可靠)使用 Google CSE API 来实现.

特别是查看 this answer了解如何使用 prefillQueryexecute 方法来填充和触发自定义查询。

不过,如果您不需要更好的东西,这里有一个针对标准设置的快速而肮脏的解决方案:

(function() {
var cx = '017643444788069204610:4gvhea_mvga'; // Insert your own Custom Search engine ID here
var gcse = document.createElement('script'); gcse.type = 'text/javascript'; gcse.async = true;
gcse.src = (document.location.protocol == 'https' ? 'https:' : 'http:') +
'//www.google.com/cse/cse.js?cx=' + cx;
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(gcse, s);
})();

function addExtraParams(){
var searchBoxWords = $("input.gsc-input").val().split(' '),
appendToQueryStr="";
for (i=0;i<searchBoxWords.length;i++){
appendToQueryStr+="&word"+i+"="+searchBoxWords[i];
}
setTimeout(
function(){
$("a.gs-title").each(function(){
$(this).attr(
"href",
$(this).attr("href")+appendToQueryStr
);
});
}
, 2000
);
};

$(document).ready(function(){
setTimeout(
function(){
$( 'input.gsc-input' ).keyup( function(e){
if ( e.keyCode == 13 ) {
addExtraParams();
}
});
$( 'input.gsc-search-button' ).click(function(){
addExtraParams();
});
}
, 1000
);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<gcse:search></gcse:search>

(嵌入式代码段不捕获介绍键,在 this fiddle 上运行代码以获得完整功能)

[编辑] 为了使这段代码正常工作,您需要移动加载 jQuery 的行,这样您会得到如下内容:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Test</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
</head>
<body>
<div class="recherche">`enter code here`
<script type="text/javascript">
//var cx = '015556257213647319991:iyaymywao1c';

(function() {
var cx = '015556257213647319991:iyaymywao1c'; // Insert your own Custom Search engine ID here
var gcse = document.createElement('script'); gcse.type = 'text/javascript'; gcse.async = true;
gcse.src = (document.location.protocol == 'https' ? 'https:' : 'http:') +
'//www.google.com/cse/cse.js?cx=' + cx;
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(gcse, s);
})();

function addExtraParams(){
var searchBoxWords = $("input.gsc-input").val().split(' '),
appendToQueryStr="";
for (i=0;i<searchBoxWords.length;i++){
appendToQueryStr+="&word"+i+"="+searchBoxWords[i];
}
setTimeout(
function(){
$("a.gs-title").each(function(){
$(this).attr(
"href",
$(this).attr("href")+appendToQueryStr
);
});
}
, 2000
);
};

$(document).ready(function(){
setTimeout(
function(){
$( 'input.gsc-input' ).keyup( function(e){
if ( e.keyCode == 13 ) {
addExtraParams();
}
});
$( 'input.gsc-search-button' ).click(function(){
addExtraParams();
});
}
, 1000
);
});
</script>

<gcse:search></gcse:search>
</div>
</body>
</html>

关于google-custom-search - 自定义谷歌搜索 (CSE) : how add the query string at the end of the result links?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35368040/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com