2012-01-27 42 views
1

什么是可靠检测Google搜索网址是否来自Google即搜即得网页,而非来自典型搜索并从该网址提取关键字?检测Google即时搜索并从URL中提取搜索关键字

应该如何区分这两个网址?是否有用于即时搜索的标准URL /查询字符串格式?

典型搜索示例:https://www.google.com/search?q=hello+world

典型搜索只是简单地传递在查询串的q参数关键字。

即时搜索示例:https://www.google.com/#sclient=psy-ab&hl=en&site=&source=hp&q=hello+world+again&pbx=1&oq=hello+world+again&aq=f&aqi=g-v1&aql=&gs_sm=e&gs_upl=1355l3667l0l3832l17l15l0l2l2l1l255l3081l2-14l16l0&bav=on.2,or.r_gc.r_pw.r_cp.,cf.osb&fp=682774cd339f5d00&biw=1316&bih=682

在即时搜索参数的散列(#)后追加。在这种情况下,检测URL是否包含散列并在散列位置后检测q参数是否可靠?

我试图从搜索URL中检索当前的关键字。

回答

1

我写了一个小函数,从查询字符串中提取q参数。

测试,与上面提供的网址完美的作品......我仍然在各种其他URL测试它,如果我发现了一些bug,我会修复功能,在这里更新它...

享受:

var parse_google_url = function (url) 
{ 
    var hash_position = url.indexOf('#'), 
    query_string = url.substr(hash_position === -1 ? url.indexOf('?') : hash_position); 
    return decodeURI((RegExp('q=(.+?)(&|$)').exec(query_string) || [,null])[1]); 
}