从 Javascript 中的 Google 搜索中提取关键字

Posted

技术标签:

【中文标题】从 Javascript 中的 Google 搜索中提取关键字【英文标题】:Extract keyword from Google search in Javascript 【发布时间】:2011-08-28 01:52:21 【问题描述】:

我想从 Google 搜索的 url 中提取搜索的关键字(例如,对于关键字“car”:http://www.google.com/webhp?hl=en#sclient=psy&hl=en&site=webhp&source=hp&q=car&aq ...(这里 car 介于“q=”和“&aq”之间 但我注意到标记可能会更改 ["&ie" 而不是 "&aq"])。

作为正则表达式和谷歌搜索的新手,到目前为止我还没有找到解决方案,请问有人知道该怎么做吗?

布鲁诺

【问题讨论】:

【参考方案1】:

您不需要正则表达式。修改自http://jquery-howto.blogspot.com/2009/09/get-url-parameters-values-with-jquery.html

function getUrlVars(href)

    var vars = [], hash;
    var hashes = href.slice(href.indexOf('?') + 1).split('&');
    for(var i = 0; i < hashes.length; i++)
    
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    
    return vars;

然后你可以这样做:

var v = getUrlVars("http://www.google.com/webhp?hl=en#sclient=psy&hl=en&site=webhp&source=hp&q=car&aq");
var q = v.q;

【讨论】:

很高兴知道它为您服务。【参考方案2】:

下面的示例代码适用于我的单个参数和当前 URL,但可以根据需要进行修改。

function extract( name )

  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return results[1];

如下图使用即可,

var result= extract("your parameter name");

【讨论】:

【参考方案3】:
function getParameterByName(name,url) 
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
        results = regex.exec(url);
    return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));



alert(getParameterByName('q','https://www.google.com/search?q=buy+a+pc&oq=buy+a+pc&aqs=chrome..69i57j5j0l2j69i61.1674j0&sourceid=chrome&ie=UTF-8#psj=1&q=buy+a+pc'));

【讨论】:

以上是关于从 Javascript 中的 Google 搜索中提取关键字的主要内容,如果未能解决你的问题,请参考以下文章

使用Javascript从Google Places搜索api获取纬度和经度

如何使用 Google Places Javascript API 搜索附近(自动从浏览器获取坐标)?

javascript 从Google Analytics界面获取按频率排序的各个自然搜索关键字列表

Google搜索中的突变XSS-JavaScript Library Introduced XSS Flaw in Google Search

从网站构建器HTML内容框中,使用javascript从Google电子表格中过滤文本/名称

谷歌搜索结果与JavaScript,API