Перейти к основному содержимому

SE::Google::KeywordPlanner - парсер Google Keyword Planner

SE::Google::KeywordPlanner

Обзор парсера SE::Google::KeywordPlanner#

SE::Google::KeywordPlannerSE::Google::KeywordPlanner – парсинг ключевых слов и подсказк с Google Keyword Planner. Для использования доступно множество получаемых данных: парсинг списков подсказок, оценка конкуренции для ключевых слов, сбор среднего кол-ва запросов в месяц, минимальных и максимальных ставок, поиск новых ключевых слов схожей тематики. В настройках парсинга вы можете указать язык, регион, локацию и период выборки данных.

Благодаря многопоточной работе A-Parser'a, скорость обработки запросов может достигать 800 запросов в минуту, что в среднем позволяет получать до 300 поисковых запросов в минуту.

Функционал A-Parser позволяет сохранять настройки парсинга парсера SE::Google::KeywordPlanner для дальнейшего использования (пресеты), задавать расписание парсинга и многое другое.

Сохранение результатов возможно в том виде и структуре которая вам необходима, благодаря встроенному мощному шаблонизатору Template Toolkit который позволяет применять дополнительную логику к результатам и выводить данные в различных форматах, включая JSON, SQL и CSV.

Список собираемых данных#

  • Списки подсказок
  • Варианты ключевых слов
    • Среднее кол-во запросов в месяц
    • Конкуренция
    • Минимальная и максимальная ставки

В результате отображен список вариантов ключевых слов по запросу. Пример:

coca cola
iphone 11 pro
winter
iphone 11 pro max
winter season
iphone11
iphone 11 price
apple iphone 11
iphone 11pro
coke
11 pro max
iphone 11 pro price
iphone 11 max
iphone pro max
iphone 11 128gb
11 pro
iphone 11 pro max price
apple iphone 11 pro
apple iphone 11 pro max
new iphone 11
iphone 11 max pro
apple 11 pro
iphone 11 deals
iphone 11 pro max 256gb
diet coke
first day of winter
iphone 11 pro 256gb
coke zero
iphone pro 11
apple 11 pro max

Возможности#

  • Парсинг данных об объемах поиска для каждого ключевого слова помесячно за указанный период ($ideas.$i.trends). Данные представлены в JSON, пример их вывода в результат на скриншоте ниже:
Спойлер: Скриншот

пример их вывода в результат парсер SE::Google::KeywordPlanner

  • Имеется возможность указывать несколько ключевых слов в запросе, достаточно перечислить их через запятую.

Варианты использования#

  • Парсинг списков подсказок
  • Оценка конкуренции для ключевых слов
  • Сбор среднего кол-во запросов в месяц, минимальных и максимальных ставок
  • Поиск новых ключевых слов схожей тематики

Настройка#

Существует два варианта настройки парсера:

  • указать эл. почту\пароль от аккаунта Keyword Planner
  • авторизоваться в браузере и скопировать нужные значения

Первый вариант. Почта и пароль#

Нужно переопределить опции E-mail и Password, указав данные от вашего аккаунта Keyword Planner. На аккаунте обязательно должна быть создана кампания.

Спойлер: (Решение) Login failed TypeError: Cannot read property '1' of null

В случае возникновения данной ошибки вам нужно удалить свой аккаунт Google из браузера и залогиниться заново.

решение ошибки в парсере SE::Google::KeywordPlanner

Второй вариант. Авторизация в браузере#

Необходимо авторизоваться в браузере по ссылке https://ads.google.com/aw/keywordplanner/home, создать первую кампанию, если ранее не было, взять следующие данные и указать их в настройках парсера:

  • Значение куки __Secure-3PSID
  • Значение куки SAG
  • Значение заголовка x-framework-xsrf-token
  • Значение параметра ocid или uscid из урла
Спойлер: Как найти необходимые параметры

какие нужны параметры для настройки парсера SE::Google::KeywordPlanner

tip

Если не можете найти SAG, то просто в его поле введите - 1

Примеры запросов#

В зависимости от значения параметра Query type запросы могут иметь вид:

  • Keyword - ключевое слово
  • Site + keyword - сайт и через пробел ключевое слово
  • Entire site - сайт
  • URL - ссылка

Подстановки запросов#

Вы можете использовать встроенные макросы для автоматической подстановки подзапросов из файлов, например мы хотим к кажому запросу добавить какой-то список других слов, укажем несколько основных запросов:

fantasy
tower defense
rpg

В формате запросов укажем макрос подстановки дополнительных слов из файла keywords.txt, данный метод позволяет увеличить вариативность запросов многократно:

{subs:keywords} $query

Данный макрос создаст столько же дополнительных запросов сколько их находится в файле на каждый исходный поисковый запрос, что в сумме даст [количество исходных запросов] х [количество запросов в файле Keywords] = [общее количество запросов] в результате работы макроса.

Например, если в файл keywords.txt будет содержать:

free
online

В итоге макрос подстановок превратит 3 основных запроса в 6:

free fantasy
online fantasy
free tower defense
online tower defense
free rpg
online rpg

Варианты вывода результатов#

A-Parser поддерживает гибкое форматирование результатов благодаря встроенному шаблонизатору Template Toolkit, что позволяет ему выводить результаты в произвольной форме, а также в структуированной, например CSV или JSON.

Вывод в таблицу CSV#

Общий формат результата:

[% FOREACH i IN p1.ideas;
tools.CSVline(i.keyword, i.volume, i.min_bid, i.max_bid);
END; %]

Имя файла:

$datefile.format().csv

Начальный текст:

Keyword,Volume,"Min bid","Max bid"
tip

В Общем формате результатов применяется шаблонизатор Template Toolkit для вывода массива ideas в цикле FOREACH.
Что такое общий формат результатов.

В имени файла результатов нужно просто изменить разрешение файла на csv.

Чтобы опция "Начальный текст" была доступна в Редакторе заданий, нужно активировать "Больше опций". В "Начальный текст" записываем названия столбцов через запятую и второй строку делаем пустой.

Сохранение в формате SQL#

Формат результата:

[% FOREACH ideas;
"INSERT INTO ideas VALUES('" _ keyword _ "', '" _ volume _ "')\n";
END; %]

Пример результата:

INSERT INTO ideas VALUES('духи', '50000')
INSERT INTO ideas VALUES('eyfel perfume', '5000')
INSERT INTO ideas VALUES('memo marfa', '5000')
INSERT INTO ideas VALUES('duxi', '5000')
INSERT INTO ideas VALUES('kenzo intense', '5000')
INSERT INTO ideas VALUES('climat lancome', '5000')
INSERT INTO ideas VALUES('v canto', '5000')
INSERT INTO ideas VALUES('majda bekkali', '5000')
INSERT INTO ideas VALUES('v canto ricina', '500')
INSERT INTO ideas VALUES('v canto stramonio', '5000')
INSERT INTO ideas VALUES('terenzi kirke', '500')
INSERT INTO ideas VALUES('duhi', '500')
INSERT INTO ideas VALUES('max mara le parfum', '500')
INSERT INTO ideas VALUES('stramonio v canto', '500')
INSERT INTO ideas VALUES('sheikh parfum', '500')
INSERT INTO ideas VALUES('jacques zolty', '500')
INSERT INTO ideas VALUES('aj arabia', '500')
INSERT INTO ideas VALUES('christian lacroix bazar', '500')
INSERT INTO ideas VALUES('juliette has a gun romantina', '500')
INSERT INTO ideas VALUES('vilhelm parfumerie mango skin', '500')
INSERT INTO ideas VALUES('v canto mirabile', '500')
INSERT INTO ideas VALUES('donna karan dkny be delicious', '500')
INSERT INTO ideas VALUES('arteolfatto', '500')
INSERT INTO ideas VALUES('aquawoman rochas', '500')
INSERT INTO ideas VALUES('angel and demon givenchy', '500')
INSERT INTO ideas VALUES('venenum kiss', '500')
INSERT INTO ideas VALUES('v canto mandragola', '500')
INSERT INTO ideas VALUES('angel demon givenchy', '500')
INSERT INTO ideas VALUES('hugo boss boss ma vie pour femme', '500')
INSERT INTO ideas VALUES('nina ricci mademoiselle ricci', '500')

Дамп результатов в JSON#

Формат результата:

[% data = [];
FOREACH p1.ideas;
item = {};
item.keyword = keyword;
item.volume = volume;
data.push(item);
END; %]$data.json\n

Пример результата:

[{"keyword":"духи","volume":"50000"},{"keyword":"eyfel perfume","volume":"5000"},{"keyword":"memo marfa","volume":"5000"},{"keyword":"duxi","volume":"5000"},{"keyword":"kenzo intense","volume":"5000"},{"keyword":"climat lancome","volume":"5000"},{"keyword":"v canto","volume":"5000"},{"keyword":"majda bekkali","volume":"5000"},{"keyword":"v canto ricina","volume":"500"},{"keyword":"v canto stramonio","volume":"5000"},{"keyword":"terenzi kirke","volume":"500"},{"keyword":"duhi","volume":"500"},{"keyword":"max mara le parfum","volume":"500"},{"keyword":"stramonio v canto","volume":"500"},{"keyword":"sheikh parfum","volume":"500"},{"keyword":"jacques zolty","volume":"500"},{"keyword":"aj arabia","volume":"500"},{"keyword":"christian lacroix bazar","volume":"500"},{"keyword":"juliette has a gun romantina","volume":"500"},{"keyword":"vilhelm parfumerie mango skin","volume":"500"},{"keyword":"v canto mirabile","volume":"500"},{"keyword":"donna karan dkny be delicious","volume":"500"},{"keyword":"arteolfatto","volume":"500"},{"keyword":"aquawoman rochas","volume":"500"},{"keyword":"angel and demon givenchy","volume":"500"},{"keyword":"venenum kiss","volume":"500"},{"keyword":"v canto mandragola","volume":"500"},{"keyword":"angel demon givenchy","volume":"500"},{"keyword":"hugo boss boss ma vie pour femme","volume":"500"},{"keyword":"nina ricci mademoiselle ricci","volume":"500"},{"keyword":"mmmm juliette has a gun","volume":"500"},{"keyword":"v canto lucrethia","volume":"500"},{"keyword":"mango skin vilhelm parfumerie","volume":"500"},{"keyword":"dalissime salvador dali","volume":"500"},{"keyword":"molecula 02","volume":"50000"},{"keyword":"lucia parfum","volume":"500"},{"keyword":"boadicea pure narcotic","volume":"500"},{"keyword":"terenzi andromeda","volume":"500"}]

Возможные настройки#

ПараметрЗначение по умолчаниюОписание
Query typeKeywordТип запроса
LanguageEnglishЯзык
CurrencyUSDВалюта
Search networksGoogleПоисковая сеть
Exclude brand names in resultsФильтр брендов
Exclude adult ideasФильтр контента для взрослых
Date fromLast 12months(From March 2019) Даты от
Date toLast 12months(To February 2020) Даты до
E-mail-Данные для авторизации в Keyword Planner
Password-Данные для авторизации в Keyword Planner
Location code-Локация (здесь нужно указывать id локации, взять можно из первого столбика этой таблицы)
Последнее обновление