Парсер Elementor JSON, Envato и ответов AI

Работа 2 из 41
Самая сложная система парсинга реализована в pipeline производства сайтов на Elementor.

Она работает сразу с несколькими источниками:

JSON-шаблоны Elementor;
ZIP-архивы Envato;
ответы Gemini;
промежуточные файлы генерации.
Парсинг Elementor JSON

Elementor хранит страницы в виде глубоко вложенного JSON-дерева.

Я реализовал рекурсивный обход этой структуры:

Elementor JSON
→ обход dict и list
→ поиск виджетов
→ анализ settings
→ поиск текстовых полей
→ фильтрация технических значений
→ присвоение ID node_N
→ формирование словаря текстов

Парсер поддерживает:

стандартные виджеты Elementor;
JegKit;
ElementsKit;
вложенные элементы;
repeater-поля;
HTML-тексты;
заголовки;
описания;
кнопки;
отзывы;
accordion;
tabs;
countdown;
другие текстовые поля.

Используется набор из десятков целевых ключей, по которым система определяет пользовательский текст.

Интеграция с Gemini

Извлечённые тексты отправляются в Gemini.

После генерации система:

получает сырой ответ;
удаляет markdown-обёртки;
извлекает JSON;
проверяет структуру;
сопоставляет ответы по node_N;
повторно обходит Elementor JSON;
возвращает каждый текст в исходный элемент;
сохраняет новый валидный JSON.

Полный цикл:

Elementor JSON
→ извлечение текстов
→ Gemini
→ парсинг ответа AI
→ проверка JSON
→ обратная подстановка
→ новый Elementor JSON
Парсинг Envato ZIP

Для подготовки шаблонов я также реализовал обработку архивов Envato:

Envato ZIP
→ распаковка
→ обход файлов
→ поиск Elementor JSON
→ проверка структуры
→ подсчёт текстовых элементов
→ отбор пригодных шаблонов
→ перенос в golden templates
Дополнительная проверка

После основной генерации шаблон проходит несколько этапов:

поиск подозрительных текстов;
повторная AI-генерация;
поиск Lorem Ipsum;
отдельная перезапись Lorem;
очистка оставшихся исходных строк;
замена изображений;
подготовка JSON к публикации.

В результате шаблон Envato автоматически превращается в готовую Elementor-страницу с новым контентом.
Детали
  • Добавлена:
24

Фрилансер

  • Проектов 15
  • Оценка 5.0
  • Рейтинг 7 772
Зарегистрируйтесь

Если у вас есть аккаунт, авторизуйтесь

Показатели

  • Последний проект: 28 дней назад
  • Ставки за последние две недели: 162
  • Сотрудничество с заказчиками: 12
  • Последний визит: 3 часа 14 минут назад
  • Отвечает в течение 4 часов
  • Профиль заказчика