使用PHP从Google搜索获取原始推荐人网址?

时间:2013-04-03 07:13:01

标签: php google-webmaster-tools

我正在使用$_SERVER['HTTP_REFERER'];来获取推荐人网址。

当我在Google搜索框中输入q='some text'

`https://www.google.com.pk/#hl=en&output=search&sclient=psy-ab&q=some text%2Ftestbulkresponse&oq=some text%2Ftestbulkresponse&gs_l=hp.3...15460.24280.1.25007.30.30.0.0.0.0.325.7136.2-27j3.30.0...0.0...1c.1.8.hp.dAvuch3bBg4&psj=1&bav=on.2,or.r_qf.&bvm=bv.44697112,d.ZWU&fp=980e418276b62e8c&biw=1366&bih=595`

但是当我使用$_SERVER['HTTP_REFERER'];

在我的网站上获取此网址时

这样的q=null

`http://www.google.com.pk/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CC0QFjAA&url=http%3A%2F%2Fwww.bulkresponse.com%2Ftestbulkresponse%2Fdashboard.php&ei=r9NbUfv7GcjaOYDdgKgC&usg=AFQjCNF9U_DpJEwupZ0ZLPbjWJ6DQLWZcA&bvm=bv.44697112,d.ZWU`. 

因此,我无法在Google中获取搜索关键字,我应该怎样做才能获得搜索关键字?

3 个答案:

答案 0 :(得分:17)

Google删除了HTTPS连接和已登录用户的搜索查询,因此了解搜索查询的唯一方法是使用Google Analytics

  

当您从https://www.google.com进行搜索时,您从我们的自然搜索列表中访问的网站仍然会知道您来自Google,但不会收到有关每个查询的信息。

http://googleblog.blogspot.com.es/2011/10/making-search-more-secure.html http://analytics.blogspot.com.es/2011/10/making-search-more-secure-accessing.html

答案 1 :(得分:1)

试试这个。

parse_str(parse_url($_SERVER['HTTP_REFERER'], PHP_URL_QUERY), $queries);

echo $queries['q'];

参考文献:

http://php.net/parse_url

http://php.net/parse_str

答案 2 :(得分:1)

$ref = $_SERVER['HTTP_REFERER'];
if(strstr($ref, "google.com")){
  //echo $ref;  
  $regex ='/q=(.+?)&/';
  preg_match($regex, $ref, $query);
  echo $query[1];
 }

它不是每次都有效,特别是现在更新。我得到了很多报道“& esrc = s”。