2012-01-27 80 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]); 
}