Extract keyword from Google search in Javascript

后端 未结 3 931
后悔当初
后悔当初 2020-12-03 15:50

I\'d like to extract from the url of a Google search the keyword of the search (e.g. for the keyword \"car\" : http://www.google.com/webhp?hl=en#sclient=psy&hl=en&si

相关标签:
3条回答
  • 2020-12-03 16:01
    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'));
    
    0 讨论(0)
  • 2020-12-03 16:13

    You don't need a regular expression for this. Modified from 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;
    }
    

    You can then do this:

    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;
    
    0 讨论(0)
  • 2020-12-03 16:18

    Below sample code works for me for a single parameter and current URL but can be modified as per requirement.

    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];
    }
    

    just use it as shown below,

    var result= extract("your parameter name");
    
    0 讨论(0)
提交回复
热议问题