SE::Yandex::Direct - scraper of Yandex Direct ads direct.yandex.ru
Scraper Overview
SE::Yandex::Direct – scraper of Yandex Direct ads. Automated collection of all data: the number of ads for a specific query, title, text, domain, additional links and their anchors, tags.You can use automatic query multiplication, substitution of subqueries from files, permutation of alphanumeric combinations and lists to get the maximum possible number of results. Using results filtering, you can immediately clean up the result by removing all unnecessary junk (using negative keywords).
A-Parser functionality allows you to save the scraper settings of SE::Yandex::Direct for future use (presets), set a scraping schedule, and much more.
Saving results is possible in the form and structure that you need, thanks to the built-in powerful templating engine Template Toolkit which allows you to apply additional logic to the results and output data in various formats, including JSON, SQL, and CSV.
Collected Data
- The number of ads for a specific query
- Title, text, and domain
- Additional links and their anchors
- Tags
- Whether the result is an advertising ad
Capabilities
- Scrapes the maximum number of results returned by Yandex Direct – 10 pages
- Supports selection of search region
- Ability to bypass captcha using the AntiCaptcha service or any other supporting their API (it is recommended to enable the is_russian parameter in anti-gate settings)
Use Cases
- Collecting competitors advertised for given queries
Queries
As queries, you need to specify search phrases, for example:
Купить кайт
Photoshop
Окна в Москве
Ремонт квартир
Query Substitutions
You can use built-in macros for automatic substitution of subqueries from files, for example, we want to add some list of other words to each query, let's specify several main queries:
fantasy
tower defense
rpg
In the query format, we will specify a macro for substituting additional words from the file keywords.txt, this method allows you to increase the variability of queries many times over:
{subs:keywords} $query
This macro will create as many additional queries as there are in the file for each original search query, which in total will give [number of original queries] x [number of queries in the Keywords file] = [total number of queries]
as a result of the macro's work.
For example, if the file keywords.txt will contain:
free
online
As a result, the substitution macro will turn 3 main queries into 6:
free fantasy
online fantasy
free tower defense
online tower defense
free rpg
online rpg
Output Results Examples
A-Parser supports flexible formatting of results thanks to the built-in templating engine Template Toolkit, which allows it to output results in an arbitrary form, as well as in structured formats, such as CSV or JSON
Default Output
Result format:
$query - $totalcount\n$ads.format('$domain: $title - $text\n')
Example of result:
Photoshop - 5
www.syssoft.ru: Adobe Photoshop CS5 - Скидки - Photoshop CS5 со скидкой от авторизованного партнера. Закажите сейчас!
www.disted.ru: Научись фотографировать! - Заочное обучение на русском языке в Нью-Йоркском институте фотографии.
www.softkey.ru: Лицензионный Adobe Photoshop CS! - Лучшие новые функции работы с изображениями от Adobe Photoshop.
www.softprof-it.ru: Лицензия Фотошоп от 23000 рублей - Низкая цена Фотошоп - от 23000 рублей. Звоните. Уточняйте условия покупки.
photoshop.pro1904.ru: Виртуозная работа в Photoshop! - Уникальный курс "Фотошоп с нуля". Стать Фотошоп-Мастером.
Купить кайт - 0
Окна в Москве - 33
www.imperia51.com: Окна в Мурманске! Низкие цены! - Очень низкие цены! Гарантия! Качественный монтаж! Все это «Империя Окон»!
mirperegorodok-kms.ru: Компания «Мир Перегородок» - Алюминиевые системы: офисные перегородки, входные группы, двери...
inkar-avto.ru: Москва-Питер-Москва на автобусе - Пн,вт,ср,чт - 1000 руб, пт,сб,вс - 1300.
Output in CSV Table
General result format:
[% FOREACH i IN p1.ads;
tools.CSVline(i.domain, i.title, i.text);
END %]
File name:
$datefile.format().csv
Initial text:
Домен,Заголовок,Текст
In the Common result format, the Template Toolkit templating engine is used to output elements of the $ads
array in a FOREACH
loop.
In the name of the result file, you simply need to change the file extension to csv.
To make the "Initial text" option available in the Task Editor, you need to activate "More options". In the "Initial text" we write the names of the columns separated by commas and make the second line empty.
Saving in SQL format
Result format:
[% FOREACH ads;
"INSERT INTO ads VALUES('" _ domain _ "', '" _ title _ "', '" _ text _ "')\n";
END %]
Example of result:
INSERT INTO ads VALUES('oknamr.ru', 'Пластиковые <b>окна</b> недорого <b>в</b> <b>Москве</b>: купить по низким...', 'Компания «<b>ОКНА</b> <b>МОСКВЫ</b>» выполняет установку пластиковых <b>окон</b>, дверей и перегородок, а также остекление балконов <b>в</b> <b>Москве</b> и Подмосковье.')
INSERT INTO ads VALUES('gor-okna.ru', 'Купить <b>окна</b> ПВХ недорого | <b>Окна</b> ПВХ <b>в</b> <b>Москве</b> по ценам...', 'Заказать качественные <b>окна</b> ПВХ <b>в</b> <b>Москве</b> с доставкой и установкой. ... <b>Москва</b>. с 9:00 до 21:00 ежедневно.')
INSERT INTO ads VALUES('balcon-msk.ru', 'Остекление балконов и лоджий <b>в</b> <b>Москве</b>.', 'Компания «Балконы <b>Москвы</b>» производит профессиональное остекление балконов и лоджий ... В цену включено: <b>Окна</b> алюминиевые 3,2х0,7м h-1,5м, водоотлив, монтаж...')
INSERT INTO ads VALUES('окнамаркет33.рф', 'Весна! Время купить новые <b>окна</b> ПВХ! Подарок – Москитная…', '<b>Окно</b> 1.3х1.4 за 9900 под ключ в панельном доме! <b>Окно</b> 2.0х1.4 за 13500 под ключ!')
INSERT INTO ads VALUES('topokno72.ru', 'Пластиковые <b>окна</b>. Двери, балконы', 'Пластиковые <b>окна</b> и любые конструкции из ПВХ WinTech, Exprof, Proplex, Rehau, KBE')
INSERT INTO ads VALUES('okna-moskvy1.ru', '<b>Окна</b> <b>Москвы</b>. Официальный сайт', 'Только до конца месяца. <b>Окна</b> REHAU со скидкой до 60%. Мультистекло в подарок. Жмите!')
INSERT INTO ads VALUES('russia.superjob.ru', 'Пластиковые и алюминиевые <b>окна</b>', 'Новые коллеги уже ждут тебя! Удобный поиск, бесплатные рекомендации, быстрый импорт. · 20 лет на рынке. Рекомендации. Удобный поиск. Онлайн-поддержка')
INSERT INTO ads VALUES('gorokna-11.ru', 'Пластиковые <b>окна</b> <b>в</b> Воркуте. <b>Окна</b>,лоджии,балконы', '<b>Окна</b> ПВХ со скидкой в Воркуте')
INSERT INTO ads VALUES('shop.oknagorizont.ru', 'Интернет магазин <b>окон</b>, недорогие пластиковые <b>окна</b>...', 'Интернет магазин <b>окон</b> без монтажа, недорогие пластиковые <b>окна</b> уже сегодня, низкие цены на <b>окна</b>. Много в наличии и на заказ, срочное изготовление...')
INSERT INTO ads VALUES('msk-oknaidveri.ru', 'Пластиковые <b>окна</b> ПВХ и входные металлические двери...', 'Классические ПВХ-<b>окна</b> - это <b>окна</b>, выполненные из пластика, сертифицированные в Министерстве строительства России и соответствующие СНиП и другим...')
INSERT INTO ads VALUES('oknamag.pro', 'Пластиковые <b>окна</b> для дачи купить в Окнамаг Про', 'Размеры пластикового <b>окна</b>: 600 высота, 600 ширина. Доступные варианты изго.. Быстрый просмотр. Код товара: опд0606.')
INSERT INTO ads VALUES('фурнитура-окон.рф', 'Фурнитура для пластиковых <b>окон</b> - Запчасти...', 'Фурнитура для <b>окон</b> <b>в</b> розницу и оптом. Поможем сделать правильный выбор комплектующих и запчастей для ваших пластиковых <b>окон</b>.')
INSERT INTO ads VALUES('OknaGarant.ru', 'Готовые пластиковые <b>окна</b> <b>в</b> <b>Москве</b>, купить новые...', '<b>Окна</b> уже ждут вас на нашем складе! Склад находится <b>в</b> <b>Москве</b> в пределах МКАД. Экономия, стоимость значительно ниже (по сравнению с <b>окнами</b> на заказ).')
INSERT INTO ads VALUES('domaster.ru', 'Оконные аксессуары и фурнитура купить <b>в</b> <b>Москве</b>...', 'Для <b>окон</b> и дверей. Интернет-магазин Брасс — место, где вы купите аксессуары для ухода за <b>окнами</b> и фурнитуру разных компаний с доставкой по России.')
INSERT INTO ads VALUES('sms-m.ru', 'Пластиковые <b>окна</b> изготовление <b>в</b> <b>Москве</b>', 'Когда вставал вопрос о минимизации издержек при изготовлении модульных зданий, компанией СтройМонтажСервис-М было принято решение запустить собственную...')
INSERT INTO ads VALUES('rosband.ru', 'Купить пластиковые <b>окна</b> <b>в</b> <b>Москве</b>', 'Пластиковые <b>окна</b> обладают отличным свойством теплоизоляции и нет никакой необходимости тратить больше ... г. <b>Москва</b>, 1-й Добрынинский переулок, 19 стр. 6.')
INSERT INTO ads VALUES('moskva.miltor.ru', 'Купить пластиковые <b>окна</b> <b>в</b> <b>Москве</b>: 185 предложений', 'Купить пластиковые <b>окна</b> <b>в</b> <b>Москве</b> вы можете, воспользовавшись объявлениями нашего сайта. Тут вы узнаете стоимость пластиковых <b>окон</b>, условия заказа и адрес...')
INSERT INTO ads VALUES('city-jaluzi.ru', 'Жалюзи на <b>окна</b> купить недорого <b>в</b> <b>Москве</b> - отзывы, фото...', 'Производим жалюзи на <b>окна</b>, шьем шторы, собираем карнизы и рольставни на заказ с 2006 года Цены от 495 до 5 900 ₽ за 1 кв.м, Бесплатно замеряем и...')
Dumping results to JSON
Общий формат результата:
[% IF notFirst;
",\n";
ELSE;
notFirst = 1;
END;
obj = {};
obj.ads = [];
FOREACH item IN p1.ads;
obj.ads.push({
domain = item.domain
title = item.title
text = item.text
});
END;
obj.json %]
Начальный текст:
[
Конечный текст:
]
Example of result:
[{"ads": [{"domain":"oknamr.ru","text":"Компания «<b>ОКНА</b> <b>МОСКВЫ</b>» выполняет установку пластиковых <b>окон</b>, дверей и перегородок, а также остекление балконов <b>в</b> <b>Москве</b> и Подмосковье.","title":"Пластиковые <b>окна</b> недорого <b>в</b> <b>Москве</b>: купить по низким..."},{"domain":"gor-okna.ru","text":"Заказать качественные <b>окна</b> ПВХ <b>в</b> <b>Москве</b> с доставкой и установкой. ... <b>Москва</b>. с 9:00 до 21:00 ежедневно.","title":"Купить <b>окна</b> ПВХ недорого | <b>Окна</b> ПВХ <b>в</b> <b>Москве</b> по ценам..."},{"domain":"balcon-msk.ru","text":"Компания «Балконы <b>Москвы</b>» производит профессиональное остекление балконов и лоджий ... В цену включено: <b>Окна</b> алюминиевые 3,2х0,7м h-1,5м, водоотлив, монтаж...","title":"Остекление балконов и лоджий <b>в</b> <b>Москве</b>."},{"domain":"окнамаркет33.рф","text":"<b>Окно</b> 1.3х1.4 за 9900 под ключ в панельном доме! <b>Окно</b> 2.0х1.4 за 13500 под ключ!","title":"Весна! Время купить новые <b>окна</b> ПВХ! Подарок – Москитная…"},{"domain":"okna-moskvy1.ru","text":"Только до конца месяца. <b>Окна</b> REHAU со скидкой до 60%. Мультистекло в подарок. Жмите!","title":"<b>Окна</b> <b>Москвы</b>. Официальный сайт"},{"domain":"окно61.рф","text":"Пластиковые <b>окна</b> по низким ценам! Качественный монтаж. Быстрая доставка. Гарантия.","title":"<b>Окна</b> <b>в</b> Батайске! Сезонные скидки"},{"domain":"gorokna-11.ru","text":"<b>Окна</b> ПВХ со скидкой в Воркуте","title":"Пластиковые <b>окна</b> <b>в</b> Воркуте. <b>Окна</b>,лоджии,балконы"}]}]
To make the "Initial text" and "Final text" options available in the Task Editor, you need to activate "More options".
Possible settings
Parameter | Default value | Description |
---|---|---|
Pages count | 10 | Number of pages to scrape |
Region of serp (lr=) | Moscow | Selection of search region (lr= parameter) |
AntiGate preset | default | Using the captcha solving service. It is necessary to preconfigure the scraper Util::AntiGate - specify your access key and other parameters, after which select the created preset here |