Shop::Yandex::Market - Парсер товаров с Яндекс.Маркет
Обзор парсера
Используя парсер товаров Yandex market, вы можете получать данные с карточки товара, собрать базу ссылок на товары, отслеживать динамику цен на товар, изменения количества продавцов, собирать оценку рейтинга и количество отзывов на товар, собрать картинки товаров
Функционал A-Parser позволяет сохранять настройки парсинга для дальнейшего использования (пресеты), задавать расписание парсинга и многое другое. Вы можете использовать автоматическое размножение запросов, подстановку подзапросов из файлов, перебор цифро-буквенных комбинаций и списков для получения максимально возможного количества результатов
Собираемые данные
- Название товара
- Ссылка на товар
- Картинка товара
- Цена и старая цена
- Валюта
- Рейтинг и число комментариев
- Количество продавцов
- Дополнительная информация
- Количество покупок и просмотров товара
Варианты использования
- Сбор ссылок на товары
- Оценка популярности товаров
- Отслеживание динамики цен и популярности товаров
Запросы
В качестве запросов необходимо указывать ключевые слова или ссылку на категорию, например:
xiaomi redmi note
https://market.yandex.ru/catalog/54726/list?local-offers-first=0&deliveryincluded=0&onstock=1ы
Варианты вывода результатов
A-Parser поддерживает гибкое форматирование результатов благодаря встроенному шаблонизатору Template Toolkit, что позволяет ему выводить результаты в произвольной форме, а также в структуированной, например CSV или JSON
Вывод названия, минимальной цены и рейтинга товара
Формат результата:
$products.format('Название: $title, Минимальная цена: $amountfrom, Рейтинг: $rating\n')
Пример результата:
Название: Смартфон Apple iPhone 11 64GB, Минимальная цена: 46 244, Рейтинг: 4.7
Название: Смартфон Apple iPhone Xr 64GB, Минимальная цена: 36 990, Рейтинг: 4.7
Название: Смартфон Apple iPhone 12 64GB, Минимальная цена: 60 840, Рейтинг: 4.7
Название: Смартфон Apple iPhone SE 2020 64GB, Минимальная цена: 33 490, Рейтинг: 4.5
Название: Смартфон Apple iPhone Xr 128GB, Минимальная цена: 43 450, Рейтинг: 4.7
Вывод в таблицу CSV
Формат результата:
[% FOREACH item IN products;
tools.CSVline(item.cardlink, item.title, item.amountfrom, item.rating, item.commentscount);
END %]
Приимер результата:
https://market.yandex.ru/product--smartfon-apple-iphone-11-64gb/558171067?nid=54726&show-uid=16206538929466307988916001&context=search&text=iphone&sku=101106266737,"Смартфон Apple iPhone 11 64GB","46 244",4.7,810
https://market.yandex.ru/product--smartfon-apple-iphone-xr-64gb/175941311?nid=54726&show-uid=16206538929466307988916002&context=search&text=iphone&sku=101103379766,"Смартфон Apple iPhone Xr 64GB","36 990",4.7,624
https://market.yandex.ru/product--smartfon-apple-iphone-12-64gb/722976004?nid=54726&show-uid=16206538929466307988916003&context=search&text=iphone&sku=101077347750,"Смартфон Apple iPhone 12 64GB","60 840",4.7,103
https://market.yandex.ru/product--smartfon-apple-iphone-se-2020-64gb/661221015?nid=54726&show-uid=16206538929466307988916004&context=search&text=iphone&sku=101099789863,"Смартфон Apple iPhone SE 2020 64GB","33 490",4.5,358
Начальный текст:
Ссылка на товар, Название товара, Минимальная цена, Рейтинг, Количество комментариев
В Формате результатов применяется шаблонизатор Template Toolkit для вывода массива $products
в цикле FOREACH
.
Чтобы опция "Начальный текст" была доступна в Редакторе заданий, нужно активировать "Больше опций". В "Начальный текст" записываем названия столбцов через запятую и второй строку делаем пустой.
Сохранение в формате SQL
Формат результата:
[% FOREACH item IN products;
"INSERT INTO products VALUES('" _ item.title _ "', '"; item.cardlink _ "', '"; item.amountfrom _ "', '"; item.rating _ "')\n";
END %]
Пример результата:
INSERT INTO products VALUES('Смартфон Apple iPhone 11 64GB', 'https://market.yandex.ru/product--smartfon-apple-iphone-11-64gb/558171067?nid=54726&show-uid=16206542754162480526716001&context=search&text=iphone&sku=101106266737', '46 244', '4.7')
INSERT INTO products VALUES('Смартфон Apple iPhone Xr 64GB', 'https://market.yandex.ru/product--smartfon-apple-iphone-xr-64gb/175941311?nid=54726&show-uid=16206542754162480526716002&context=search&text=iphone&sku=101103379766', '36 990', '4.7')
INSERT INTO products VALUES('Смартфон Apple iPhone 12 64GB', 'https://market.yandex.ru/product--smartfon-apple-iphone-12-64gb/722976004?nid=54726&show-uid=16206542754162480526716003&context=search&text=iphone&sku=101077347750', '60 840', '4.7')
INSERT INTO products VALUES('Смартфон Apple iPhone SE 2020 64GB', 'https://market.yandex.ru/product--smartfon-apple-iphone-se-2020-64gb/661221015?nid=54726&show-uid=16206542754162480526716004&context=search&text=iphone&sku=101099789863', '33 490', '4.5')
Дамп результатов в JSON
Общий формат результата:
[% IF notFirst;
",\n";
ELSE;
notFirst = 1;
END;
obj = {};
obj.query = query;
obj.items = [];
FOREACH item IN p1.products;
obj.items.push({
link = item.cardlink
name = item.title
amountfrom = item.amountfrom
});
END;
obj.json %]
Начальный текст:
[
Конечный текст:
]
Пример результата:
[
{
"query": "https://market.yandex.ru/catalog--mobilnye-telefony/54726/list?text=iphone&hid=91491&was_redir=1&rt=10&cpa=0&onstock=0&local-offers-first=0",
"items": [
{
"link": "https://market.yandex.ru/product--smartfon-apple-iphone-11-64gb/558171067?nid=54726&show-uid=16206548825917275667016001&context=search&text=iphone&sku=101106266737",
"amountfrom": "46 244",
"name": "Смартфон Apple iPhone 11 64GB"
},
{
"link": "https://market.yandex.ru/product--smartfon-apple-iphone-xr-64gb/175941311?nid=54726&show-uid=16206548825917275667016002&context=search&text=iphone&sku=101103379766",
"amountfrom": "36 990",
"name": "Смартфон Apple iPhone Xr 64GB"
},
{
"link": "https://market.yandex.ru/product--smartfon-apple-iphone-12-64gb/722976004?nid=54726&show-uid=16206548825917275667016003&context=search&text=iphone&sku=101077347750",
"amountfrom": "60 840",
"name": "Смартфон Apple iPhone 12 64GB"
},
{
"link": "https://market.yandex.ru/product--smartfon-apple-iphone-se-2020-64gb/661221015?nid=54726&show-uid=16206548825917275667016004&context=search&text=iphone&sku=101099789863",
"amountfrom": "33 490",
"name": "Смартфон Apple iPhone SE 2020 64GB"
}
]
}
]
Чтобы опции "Начальный текст" и "Конечный текст" были доступны в Редакторе заданий, нужно активировать "Больше опций".
Возможные настройки
Параметр | Значение по умолчанию | Описание |
---|---|---|
AntiGate preset | default | Выбор пресета Util::AntiGate, детальнее о настройке тут |
AntiGate preset for old captcha | default | Аналогично AntiGate preset, но используется только для обычных (старых, в виде одной картинки) каптч. Если здесь не выбран пресет, то для таких каптч будет использоваться пресет, выбраный в AntiGate preset. |
Auto-Solve ClickCaptcha | ☐ | Автоматическое разгадывание click каптчи (без использования сервисов) |
Experimental img captcha max count | 1 | Максимальное количество повторных капч-картинок на попытку |
Pages count | 5 | Количество страниц для парсинга |
Search region ID | Not set | Регион для парсинга |