SE::Yandex::WordStat::ByRegion -
Обзор парсера
Wordstat - это сервис Яндекса, предназначенный для оценки пользовательского интереса к различным тематикам и подбора ключевых слов для SEO-оптимизации и контекстной рекламы. Кроме того, с помощью Wordstat Yandex можно оценить сезонность и географическую зависимость поисковых запросов.
Парсер Yandex WordStat by region поддерживает автоматические размножение запросов, вы можете быть уверены что получите максимальное число результатов из выдачи. Также A-Parser может автоматически переходить по связанным запросам на указанную глубину.
Функционал A-Parser позволяет сохранять настройки парсинга для дальнейшего использования (пресеты), задавать расписание парсинга и многое другое. Вы можете использовать автоматическое размножение запросов, подстановку подзапросов из файлов, перебор цифро-буквенных комбинаций и списков для получения максимально возможного количества результатов.
Сохранение результатов возможно в том виде и структуре которая вам необходима, благодаря встроенному мощному шаблонизатору Template Toolkit который позволяет применять дополнительную логику к результатам и выводить данные в различных форматах, включая JSON, SQL и CSV.
Аккаунты
Для работы парсера SE::Yandex::WordStat::ByRegion необходимы аккаунты Яндекс. Аккаунты можно зарегистрировать с помощью парсера SE::Yandex::Register или просто добавить существующие аккаунты в файл files/SE-Yandex/accounts.txt
в поддерживаемом формате.
Либо можно включить регистрацию аккаунтов "на лету".
Собираемые данные
- Общее количество показов по запросу
- Статистика ключевых слов по регионам и городам:
- Регион/Город
- Количество просмотров за месяц
- Региональная популярность в %
Возможности
- Поддержка автоматического обхода Smart captcha и возможность обхода графической каптчи с помощью сервиса AntiCaptcha или любого другого поддерживающего их API
- Выбор типа устройства
- Возможность выбирать метод авторизации
- Возможность регистрировать аккаунты "на лету"
- Поддерживает работу с расширенным форматом аккаунтов и умеет отвечать на секретный вопрос (если ответ есть в
info
). А также использует для авторизации сохраненную прокси (если она есть вinfo
).
Варианты использования
- Оценка количества трафика по кейворду в разрезе регионов
Запросы
В качестве запросов необходимо указывать ключевые слова, точно так же как если бы их вводили прямо в форму поиска Вордстата, например:
test
Варианты вывода результатов
A-Parser поддерживает гибкое форматирование результатов благодаря встроенному шаблонизатору Template Toolkit, что позволяет ему выводить результаты в произвольной форме, а также в структуированной, например CSV или JSON
Вывод по умолчанию
Формат результата:
$query - Total views: $totalcount\nViews by regions:\n$regions.format('$region $count, $popularity%\n')\nViews by cities:\n$cities.format('$city $count, $popularity%\n')
В результате отображено количество показов по запросу, статистика ключевых слов по регионам и городам, количество просмотров за месяц и региональная популярность:
test - Total views: 872855
Views by regions:
Москва и Московская область 147107, 85%
Центр 194716, 77%
Северо-Запад 55815, 70%
Юг 31759, 67%
Поволжье 86006, 66%
...
Views by cities:
Чита 2937, 113%
Санкт-Петербург 35713, 73%
Белгород 2737, 58%
Иваново 1773, 55%
Калуга 2196, 64%
Кострома 1166, 49%
Вывод в таблицу CSV
Формат результата:
[% FOREACH i IN regions;
tools.CSVline(query, i.popularity, i.region, i.count);
END %]
Пример результата:
"тест",88,"Москва и Московская область",1902795
"тест",96,"Центр",2992864
"тест",95,"Северо-Запад",926138
"тест",112,Юг,647140
"тест",124,"Поволжье",1927873
"тест",64,"Запад",60975
"тест",86,"Восток",427304
Сохранение в формате SQL
Формат результата:
[% FOREACH i IN regions;
"INSERT INTO regions VALUES('" _ query _ "', '"; i.popularity _ "', '"; i.count _ "', '"; i.region _ "')\n";
END %]
Пример результата:
INSERT INTO regions VALUES('тест', '88', '1902795', 'Москва и Московская область')
INSERT INTO regions VALUES('тест', '96', '2992864', 'Центр')
INSERT INTO regions VALUES('тест', '95', '926138', 'Северо-Запад')
INSERT INTO regions VALUES('тест', '112', '647140', 'Юг')
INSERT INTO regions VALUES('тест', '124', '1927873', 'Поволжье')
INSERT INTO regions VALUES('тест', '64', '60975', 'Запад')
INSERT INTO regions VALUES('тест', '86', '427304', 'Восток')
INSERT INTO regions VALUES('тест', '80', '89569', 'Юг')
INSERT INTO regions VALUES('тест', '75', '356560', 'Центр')
INSERT INTO regions VALUES('тест', '77', '34894', 'Север')
Дамп результатов в JSON
Общий формат результата:
[% IF notFirst;
",\n";
ELSE;
notFirst = 1;
END;
obj = {};
obj.totalcount = p1.totalcount;
obj.regions = [];
FOREACH item IN p1.regions;
obj.regions.push({
popularity = item.popularity
region = item.region
count = item.count
});
END;
obj.json %]
Начальный текст:
[
Конечный текст:
]
Пример результата:
[
{
"regions": [
{
"count": "1902795",
"popularity": 88,
"region": "Москва и Московская область"
},
{
"count": "2992864",
"popularity": 96,
"region": "Центр"
},
{
"count": "926138",
"popularity": 95,
"region": "Северо-Запад"
},
{
"count": "647140",
"popularity": 112,
"region": "Юг"
},
{
"count": "34894",
"popularity": 77,
"region": "Север"
},
],
"totalcount": "10837937"
}
]
Смотреть также: Фильтры результатов
Возможные настройки
Параметр | Значение по умолчанию | Описание |
---|---|---|
AntiGate preset | default | Необходимо предварительно настроить парсер Util::AntiGate - указать свой ключ доступа и другие параметры, после чего выбрать созданный пресет здесь |
AntiGate preset for Login | default | Пресет AntiGate для логина. Необходимо предварительно настроить парсер Util::AntiGate с параметрами, после чего выбрать созданный пресет здесь |
Type | All | Выбор типа устройства |
Accounts | Only from "accounts.txt" | Выбор метода работы с аккаунтами: Always auto register - всегда автоматически регистрировать аккаунты "на лету", требуется выбрать настроенный пресет в параметре SE::Yandex::Register preset. Auto register if no more in "accounts.txt" - сначала используются существующие аккаунты из accounts.txt, а если они заканчиваются - используется автоматическая регистрация "на лету", для которой соответственно нужно выбрать настроенный пресет в параметре SE::Yandex::Register preset. Only from "accounts.txt" - использовать только существующие аккаунты из accounts.txt, а если они заканчиваются - ждать заданное время (параметр Wait new accounts in "accounts.txt") появления новых |
Wait new accounts in "accounts.txt" | 0 | Время ожидания появления новых аккаунтов в accounts.txt |
Remove bad accounts | Always, except wrong login/password | Автоматическое удаление "плохих" аккаунтов: Always - всегда удалять. Always, except wrong login/password - удалять всегда, кроме случаев, когда Яндекс сообщил что указаны неверный логин/пароль. Дело в том, что такое сообщение Яндекс может отдавать при бане IP для абсолютно рабочего аккаунта, поэтому опционально можно оставлять такие аккаунты для повторного использования. Never - никогда не удалять. Вне зависимости от выбранного варианта при ошибках прокси/браузера аккаунты не удаляются |
SE::Yandex::Register preset | default | Выбор пресета настроек для SE::Yandex::Register |
Authorization method | HTTP | Метод авторизации: HTTP - быстро, не требовательно к ресурсам. Chrome - медленно, требовательно к ресурсам, теоретически может продлевать жизнь аккаунтам |
Chrome headless | ☑ | Если опция включена, браузер не будет отображаться |
Use sessions | ☑ | Использование сессий |
Do not reset session if authorization passed | ☑ | Не сбрасывать сессию при ошибках если парсер уже авторизовался |
Use Wordstat 2 | ☐ | Использование Wordstat 2 |
Wordstat 2 parse all table data | ☑ | Позволяет сразу выгружать все 2000 результатов по запросу без прохода по пагинации |