Обнаружение мгновенного поиска Google и извлечение поискового ключевого слова из URL - PullRequest
1 голос
/ 28 января 2012

Каков надежный способ определения, является ли поисковый URL-адрес Google со страницы Google Instant, а не обычным поиском, и извлечение ключевых слов из этого URL-адреса?

Как следует различать эти два 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 Ответ

1 голос
/ 28 января 2012

Я написал небольшую функцию, которая извлекает параметр q из строки запроса.

Протестировано и отлично работает с URL-адресами, указанными выше ... Я все еще тестирую его по различным другим URL-адресам, и если я замечаюкакая-то ошибка, я исправлю функцию и обновлю ее здесь ...

Наслаждайтесь:

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]);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...