Получение результатов региональной выдачи у Google

Не секрет, что поисковые системы уже давно используют систему ранжирования основанную на учёте места нахождения пользователя. Итоговая выдача на странице результатов поисковой машины по геозависимым запросам будут отличаться в зависимости от того, как поисковая система опредилила регион пользователя. При необходимости регион можно указать в настройках поиска:

Настройки региона поиска у Google

Настройка региона поиска у Яндекс

Но что делать, если вы используете AllSubmitter или пишете свой парсер поисковой выдачи? Изменить регион поиска у Яндекса достаточно просто. Нужно просто добавить GET-параметр lr к запросу. Значение — это числовой код региона из списка доступного в документации к Яндекс.XML. У Google эта операция не так тривиальна.

Сменить регион поиска у Google можно так же добавив GET-параметр к строке запроса. Имя его uule, а вот с получением значения придётся повозиться. Значение строится по данной формуле:

1
prefix + lengthKey(canonicalName) + base64(canonicalName)

Например, итоговое значение параметра при поиске в Москве (Moscow,Moscow,Russia исходя из данных Google Geographical Target):

w+CAIQICIUTW9zY293LE1vc2NvdyxSdXNzaWE=

При поиске в Санкт-Петербурге (Saint Petersburg,Saint Petersburg,Russia):

w+CAIQICIoU2FpbnQgUGV0ZXJzYnVyZyxTYWludCBQZXRlcnNidXJnLFJ1c3NpYQ==

Для того, чтобы убедится в правильности проделанных действий, можно сравнить результат поисковой выдачи по запросу ‘купить квартиру’ в Москве и Санкт-Петербурге.