Если на сайте на страницах товара нет некоторых характеристик, например: Механизм, Материал корпуса и тип ремешка, а данные характеристики представлены в виде фильтров на странице рубрики
То парсить такие характеристики возможно показанным на этой странице способом.
Парсинг товаров вместе с нужными фильтрами (характеристиками) осуществляется в два этапа:
1) Сбор со страниц рубрик выдачи товаров по каждому фильтру с записью URL найденных при каждом фильтре товаров в подключенный CSV (вместе с характеристиками);
2) Парсинг страниц товаров с подгрузкой фильтров (характеристик) из полученного при первом этапе CSV.
Эти два проекта можно будет запускать поочередно в автоматическом режиме с помощью встроенного планировщика (ctrl+p).
1) Сбор фильтров с их значениями со страниц рубрик сайта в CSV файл на диске
Задача, получить CSV следующего вида
При этом нужно понимать, что при выборе того или иного фильтра на многих сайтах изменяется URL страницы рубрики, например, если выбираем фильтр Механизм -> Механические, то в URL добавляется параметр srch_Mechanism%5B%5D=3 (значение 3). Если выбираем фильтр Механизм – Кварцевые, то в URL Добавляется параметр srch_Mechanism%5B%5D=4 (значение 4).
Изначально задача состоит в том, чтобы создать список ссылок на первые страницы выдачи рубрики для каждого отдельного фильтра, например:
1 2 3 4 5 6 7 | https://***.ru/katalog/chasy/longines/?srch_Mechanism%5B%5D=3[PARAM]:Механизм|||Механические https://***.ru/katalog/chasy/longines/?srch_Mechanism%5B%5D=4[PARAM]:Механизм|||Кварц https://***.ru/katalog/chasy/longines/?srch_Material%5B%5D=1[PARAM]:Материал|||Сталь https://***.ru/katalog/chasy/longines/?srch_Material%5B%5D=3[PARAM]:Материал|||Золото https://***.ru/katalog/chasy/longines/?srch_Mechanism%5B%5D=6[PARAM]:Механизм|||Автоподзавод https://***.ru/katalog/chasy/longines/?srch_WatchbandType%5B%5D=1[PARAM]:Тип ремешка|||Ремень https://***.ru/katalog/chasy/longines/?srch_WatchbandType%5B%5D=2[PARAM]:Тип ремешка|||Браслет |
Обратите внимание, что создан список ссылок только на первые страницы рубрик (подгрузка всех страниц выдачи рубрик будет далее осуществляться автоматически) и в каждую ссылку добавлен [PARAM]:Параметр 1|||Параметр 2 для более удобной вставки в результат парсинга названия и значения фильтра (характеристики).
Запись данных, как сказано выше, будет производиться в подключенный CSV файл на диске. Подключение файлов CSV к шаблону вывода осуществляется макросом [LOADCSV] (смотрите инструкцию по макросу на этой странице).
В подключенном CSV будут динамически создаваться строки для каждой найденной ссылки товара и к созданным строкам будут динамически создаваться столбцы, для записи в них названий и значений фильтров. В видео подробно пояснен процесс записи данных в файл CSV.
Динамическое добавление ссылок на 2, 3… страницы рубрики (при парсинге каждого фильтра) будет осуществляться с помощью макроса [ADDURL] (смотрите видео).
В итоге мы получим нужный CSV (который показан на скриншоте выше).
2) Парсинг страниц товаров с подгрузкой фильтров (характеристик) из полученного при первом этапе CSV
При парсинге данных со страниц товаров соответствующие значения фильтров (характеристик) будут подгружаться из полученного CSV на диске с помощью макросов работы с подключаемыми CSV фалами.
То есть, парсим товары, как обычно, а значения фильтров догружаем из CSV (по ключевому столбцу с URL товаров).
Учтите, что при парсинге товаров можно взять ссылки из первого столбца полученного CSV на диске (смотрите видео).