ЗАПИСЬ ЗНАЧЕНИЙ [DYNAMICVALUES] В ШАПКУ CVS ПРОИСХОДИТ ПРИ ЗАВЕРШЕНИИ ПАРСИНГА. ПРИ ПАРСИНГЕ НЕ ОТКРЫВАЙТЕ ФАЙЛ (КУДА СОХРАНЯЮТСЯ ДАННЫЕ) В СТОРОННЕМ РЕДАКТОРЕ (ЭТО БЛОКИРУЕТ ЗАПИСЬ В НЕГО). ДОЖДИТЕСЬ ЗАВЕРШЕНИЯ ПРОЦЕДУРЫ ПАРСИНГА И ТОЛЬКО ПОТОМ ПРОВЕРЯЙТЕ РЕЗУЛЬТАТ!!!!!!!
Описание макроса шаблона вывода [DYNAMICVALUES]:
Макрос шаблона вывода [DYNAMICVALUES] предназначен для парсинга большого количества различных характеристик множества товаров (до 100 000 разных характеристик товаров). Макрос АВТОМАТИЧЕСКИ создает колонку CSV файла из имени КАЖДОЙ характеристики товара и АВТОМАТИЧЕСКИ распределяет все характеристики по соответствующим колонкам при парсинге КАЖДОГО товара.
Использование макроса шаблона вывода [DYNAMICVALUES] возможно только на ULTIMATE-версиях Content Downloader. Если у вас не ULTIMATE-версия программы, пожалуйста, произведите апгрейд типа лицензии.
Что получаем в итоге (пример CSV-таблицы):
Как пользоваться макросом [DYNAMICVALUES]:
Формат входящих данных для макроса [DYNAMICVALUES]:
1 | [DYNAMICVALUES]имя характеристики 1[VALUE]:значение характеристики 1[NEXTPAIR]имя характеристики 2[VALUE]:значение характеристики 2[NEXTPAIR]...[/DYNAMICVALUES] |
“Живой” пример формата входящих данных:
1 | [DYNAMICVALUES]Вес[VALUE]:87 кг[NEXTPAIR]Высота[VALUE]:187 см[/DYNAMICVALUES] |
– Имена характеристик товаров от их значений отделяются оператором [VALUE]:
– Каждая следующая пара имени и значения характеристики прописывается после оператора [NEXTPAIR]
Использование параметра [INVERSEMODE]:
Параметр [INVERSEMODE] используется для включения режима инверсии. Режим инверсии в макросе [DYNAMICVALUES] меняет местами имена характеристик и их значений для каждой пары. Это необходимо для парсинга данных, где в коде документа сперва идут значения характеристик, а затем их имена (данные предоставлены в обратном порядке).
Параметр [INVERSEMODE] нужно прописывать внутри макроса [DYNAMICVALUES]:
1 | [DYNAMICVALUES][INVERSEMODE]значение характеристики 1[VALUE]:имя характеристики 1[NEXTPAIR]значение характеристики 2[VALUE]:имя характеристики 2[NEXTPAIR]...[/DYNAMICVALUES] |
Парсинг характеристик, разделенных на группы
Формат входящих данных для макроса [DYNAMICVALUES] с использованием оператора [GROUPNAME] (смотрите видео ниже)
1 | [DYNAMICVALUES][GROUPNAME]имя группы характеристик 1[/GROUPNAME]имя характеристики 1[VALUE]:значение характеристики 1[NEXTPAIR]имя характеристики 2[VALUE]:значение характеристики 2[NEXTPAIR]...[/DYNAMICVALUES] |
Шаблон поиск-замены для простановки операторов [GROUPNAME]:
1 | начало{skip}конец|[GROUPNAME]{skip}[/GROUPNAME] |
ВАЖНОЕ ПРИМЕЧАНИЕ 1: Если вам необходимо вставить оператор разделителя имен характеристик и их значений ([VALUE]:) в шаблон любой повторяющейся границы парсинга (ctrl+f5), то вместо [VALUE]: нужно вставлять его заэкранированный вариант – {VALUE}: (так как в шаблонах повторяющихся границ парсинга используется собственный оператор [VALUE], служащий для вывода значений циклов повторяющихся границ);
ВАЖНОЕ ПРИМЕЧАНИЕ 2: Использовать несколько макросов [DYNAMICVALUES] на одной строке CSV нельзя! Вставьте все данные в один макрос [DYNAMICVALUES], разделяя их оператором [NEXTPAIR] и соблюдая их формат;
ВАЖНОЕ ПРИМЕЧАНИЕ 3: Помните, что макрос [DYNAMICVALUES] нужно размещать в конце таблицы (правее всех других колонок), чтобы не было стоящих справа столбцов, которые могут плавать (так как количество характеристик у разных товаров может быть разное).
ВАЖНОЕ ПРИМЕЧАНИЕ 4: Также учтите, что при запуске парсинга, в строку заголовка (шапку CSV) оператор [DYNAMICVALUES] записывается в первичном виде. Подстановка значений [DYNAMICVALUES] в файл осуществляется только при завершении процедуры парсинга контента! Поэтому, когда вы парсите большие объемы данных, рекомендуется результат парсинга разбивать на несколько файлов (чтобы не возникали ошибки от переполнения памяти и данные [DYNAMICVALUES] успешно записались в файлы на диске). Это реализуется с помощью параметра “по сколько документов сохранять в один файл” (во вкладке “Контент”):
ВАЖНОЕ ПРИМЕЧАНИЕ 5: Если нужно брать несколько блоков характеристик из разных частей WEB-страниц, вставляйте их в один макрос [DYNAMICVALUES] в соответствии с требуемым для макроса форматом данных.
ВАЖНОЕ ПРИМЕЧАНИЕ 6: Если при парсинге накапливается огромное количество разных характеристик и это существенно замедляет парсинг, пользуйтесь опцией перезапуска процедуры парсинга контента:
ВАЖНОЕ ПРИМЕЧАНИЕ 7: Для контроля формата входящих в макрос [DYNAMICVALUES] данных пользуйтесь логом выполнения функций в нижней части окна предпросмотра результатов парсинга контента:
Как производить поиск-замену только для имен характеристик
Открываем окно настройки макроса шаблона вывода [DYNAMICVALUES] (shift+ctrl+d) и прописываем туда нужные правила поиск-замены для имен характеристик.
Дополнительные материалы:
– Как производить поиск элементов нужной повторяющейся границы в тексте обычной границы парсинга (в определенной части кода WEB-документа), а не в целом коде WEB-документа
– Функции поиск-замены и регулярные выражения
апнул до Ultimate пока не выросли цены)
программа уверенно перерастает свою цену.
Овации товарищи!!! Свершилось чудо!!!
Да здравствует великий Content Downloader и его замечательный автор!!!
Ура! Ура! Ура!
Серёга рулит!))
Скоро перепарсим весь рунет! А потом за буржуйский ещё возьмёмся!
Спасибо! Отличная новость!
Спасибо, ребята…
Отличный макрос, спасибо! А как спарсить в тот же файл еще и картинки товара?
Здравствуйте.
Пожалуйста. Спасибо на добром слове и вам!
Вопросы, пожалуйста, задавайте на форуме, так как тут я редко проверяю новые комментарии…
Как парсить картинки написано тут http://sbfactory.ru/cd/?p=1033
Сергей, спасибо большое!
Пользуюсь программой уже несколько лет, вот пригодился этот макрос – работает супер=)
Удачи Вам и не бросайте проект, это самый мощный, гибкий, полезный и регулярно обновляющийся инструмент во всём интернете!
Content Downloader – это мои руки в интернете)
Здравствуйте.
И вам большое спасибо за все!
Обращайтесь…