我可以从Google获取搜索词组吗?

时间:2012-01-28 21:34:37

标签: php javascript html

我想对用户在谷歌中使用的搜索词组进行多次使用,以便访问我的网站。

有任何编程方式吗?

谢谢, 奥兰

4 个答案:

答案 0 :(得分:5)

您可以使用以下代码:

$referrer = $_SERVER['HTTP_REFERER']; 
if (!empty($referrer)) { 
    $parts_url = parse_url($referrer); 
    $query = isset($parts_url['query']) ? $parts_url['query'] : ''); 
        if($query) { 
            parse_str($query, $parts_query);             

            $ref_keywords = isset($parts_query['q']) ? $parts_query['q'] : (isset($parts_query['query']) ? $parts_query['query'] : '' )); 
        }
}

但请注意,Google现已停止在其引荐来源中为所有登录用户发送查询字符串。因此,您的功能仅适用于退出Google的用户。以下是有关此http://googleblog.blogspot.com/2011/10/making-search-more-secure.html

的更多信息

答案 1 :(得分:4)

使用HTTP_REFERER服务器变量。

$referer= $_SERVER['HTTP_REFERER'];
//find the search query from google that brought them here
$qref= strpos($referer,’google’);
if($qref!=”){
$qstart = strpos($referer,’q=’);
$qend = strpos($referer,’&’,$qstart);
$qtext= substr($referer,$qstart+2,$qend-$qstart-2);
$qtext= str_replace(‘+’,’ ‘,$qtext);
}
echo $qtext

取自here

答案 2 :(得分:1)

我认为它应该在推荐者中,因为他们通过q参数将搜索字符串附加到网址。

答案 3 :(得分:1)

您可以从请求中的"HTTP_referer"获取它。($ _ SERVER ['HTTP_REFERER'];)

另见another question regarding the topic