DLE Parser PRO
DLE Parser PRO — комплексне рішення для DataLife Engine, призначене для автоматичного імпорту, обробки, перекладу та публікації матеріалів із зовнішніх джерел. Модуль поєднує HTML-парсинг, RSS/Atom-стрічки, гібридний режим RSS + HTML, імпорт через Sitemap, обробку зображень, додаткові поля DLE, захист від дублів, AI-рерайт та інтеграцію з DLE Multi-Language.
Система розрахована на власників новинних сайтів, тематичних порталів, блогів, агрегаторів і контентних проєктів, яким важливо не просто скопіювати матеріал, а отримати готову публікацію: з очищеним HTML, локальними зображеннями, категоріями, тегами, додатковими полями, ЧПУ, перекладами та діагностикою кожного етапу обробки.
Архітектура модуля: чотири режими парсингу
HTML Parser — класичний веб-скрейпінг
- Отримання матеріалів безпосередньо з HTML-структури сайту-донора
- Коректна обробка списків матеріалів: парсер проходить усі знайдені контейнери й шукає посилання всередині кожного блоку
- URL-based progress: відстеження останнього обробленого матеріалу за URL, а не за порядковим номером на сторінці
- Напрямок обробки на вибір: від нових до старих або від старих до нових
- Налаштовувана пагінація:
/page/{page}/,?page={page},/p/{page},/offset/{page}та власні шаблони - Отримання заголовка, повного тексту, категорій, головного зображення й додаткових полів через CSS-селектори
- Локальне очищення контенту всередині вибраного блоку, без видалення елементів з усього DOM документа
- Автоматичне завантаження зображень із тексту матеріалу й заміна зовнішніх посилань на локальні
- Підтримка додаткових полів DLE: файли, зображення, відео, галереї, HTML-блоки та текстові значення
RSS/Atom Parser — робота з новинними стрічками
- Підтримка RSS 2.0, RSS 1.0 (RDF) та Atom 1.0
- Отримання контенту з
content:encoded,descriptionта Atom content - Обробка namespaces: media, content, dc, atom
- Отримання зображень з enclosure, media:content, media:thumbnail, media:group та HTML-контенту
- Додатковий пошук головного зображення на сторінці статті через Open Graph і Twitter meta-теги
- Отримання категорій зі стрічки та їх зіставлення з категоріями DLE
- Окрема стратегія cursor для режимів new_to_old та old_to_new, щоб нові матеріали вгорі RSS не пропускалися
- Очищення RSS-контенту від рекламних і службових блоків через селектори виключення
Hybrid Parser — поєднання RSS і HTML
- RSS використовується для швидкого отримання списку актуальних матеріалів
- HTML-сторінка використовується для отримання повного тексту, зображень, категорій і додаткових полів
- Підтримка HTML category selector з політикою об’єднання категорій: RSS first, HTML fallback або HTML priority
- Захист від зависання на проблемному матеріалі: item-level failure tracking, fail cursor advancement та ліміт повторних спроб
- Об’єднання даних із RSS і HTML з пріоритетом повнішого джерела
- Завантаження медіа й додаткових полів з HTML-версії статті
- Оптимальний режим для сайтів, де RSS містить лише анонс, а повний матеріал доступний на сторінці
Sitemap Parser — імпорт матеріалів із sitemap.xml
- Підтримка звичайних sitemap.xml і sitemap index із вкладеними sitemap-файлами
- Автоматичне отримання списку URL матеріалів із Sitemap
- Кешування sitemap-інвентарю для пришвидшення повторних запусків і зменшення навантаження на сайт-донор
- Напрямок обробки на вибір: від нових до старих або від старих до нових
- Отримання заголовка, повного тексту, категорій, зображень і додаткових полів через CSS-селектори
- Відстеження загальної кількості URL і прогресу обробки
- Захист від повторної публікації вже імпортованих матеріалів
AI-рерайт, переклади та DLE Multi-Language
AI-обробка через DeepSeek і OpenAI
- DeepSeek або OpenAI як AI-провайдер
- Рерайт заголовка, короткого опису та повного тексту матеріалу
- Chunk-based обробка довгих статей із розбиттям на безпечні фрагменти
- Збереження HTML-структури під час рерайту й перекладу: параграфи, списки, заголовки, blockquote, code/pre
- Захист медіа-елементів перед AI-обробкою: зображення, figure, picture, iframe, video та pre/code блоки тимчасово замінюються маркерами
- Автоматичне відновлення медіа-елементів після AI-обробки
- Налаштовувані промпти для заголовка, короткого опису, повного тексту й тегів
- Повторна обробка підозрілих фрагментів, якщо AI залишив частину тексту мовою оригіналу
- Додаткова нормалізація HTML після відповіді AI, щоб уникнути зламаних списків і незакритих тегів
Інтеграція з DLE Multi-Language
- Автоматичне визначення активних мов із конфігурації DLE Multi-Language
- Заповнення мовних колонок:
title_{iso},short_story_{iso},full_story_{iso},tags_{iso} - Переклад повного матеріалу, короткого опису, заголовка й тегів для кожної активної мови
- Збереження основної мовної версії окремо від перекладів
- Генерація
alt_nameдля мовної версії за перекладеним заголовком - Перевірка наявності мовних колонок перед збереженням, щоб уникнути помилок БД
- Fallback для тегів: якщо AI не зміг перекласти tags, модуль формує теги з уже перекладеного контенту
- Підтримка різних мовних сценаріїв: основна мова сайту може відрізнятися від мови сайту-донора
Тестування й попередній перегляд перед публікацією
Справжній dry-run pipeline
- Тестування джерела використовує той самий pipeline, що й реальний парсинг
- Режим dry-run не зберігає матеріал у БД, але показує підсумковий результат обробки
- Попередній перегляд містить фінальний заголовок, короткий опис, повний текст, категорії, зображення, xfields, tags і duplicate verdict
- Тест показує реальний результат після очищення, AI-рерайту, перекладу, завантаження зображень і обробки додаткових полів
- В інтерфейсі є попередження: повна симуляція може тривати кілька хвилин і використовувати AI/API-запити
- Результат тестування максимально відповідає тому, що буде опубліковано під час реального запуску CRON
CSS-селектори та отримання даних
Розширений selector engine
- Базові CSS-селектори: теги, класи, ID, атрибути
- Групи через кому:
h1, .title, [itemprop="headline"] - Вкладеність, прямі нащадки та сусідні елементи:
.article .text,.post > p,h1 + .lead - Кілька класів на одному елементі:
.post.featured - Атрибути:
[href],[data-src],[itemprop="articleBody"],[class*="content"] - Низка псевдокласів:
:first-child,:last-child,:nth-child(),:contains(),:not(),:is(),:where(),:has()у підтримуваних межах - Попередження в тестовому режимі для надто складних або непідтримуваних селекторів
- Докладна довідка в адмінпанелі з прикладами та поясненням підтримуваного синтаксису
Додаткові поля DLE
Завантаження файлів, медіа та галерей
- Довільна кількість додаткових полів для кожного джерела
- Для кожного поля задаються CSS-селектор, атрибут отримання й тип дії
- Підтримувані атрибути:
href,src,data-src,data-href,content,text,html - Підтримувані дії: зберегти URL/текст, завантажити файл, завантажити зображення, завантажити відео, зберегти зовнішнє відео, зібрати галерею
- Галереї автоматично обходять усі знайдені елементи й зберігають результат у форматі DLE
- Файли та відео зберігаються в
uploads/public_files/ - Зображення зберігаються в
uploads/posts/з метаданими розміру - HTML-блоки можна зберігати в додаткові поля із застосуванням політики очищення контенту
Зображення та медіа
Професійна обробка зображень
- Автоматичне завантаження зображень із повного тексту матеріалу
- Підтримка HTTPS, редиректів і відносних URL
- Збереження зображень із розкладанням за датами
- Заміна зовнішніх URL у контенті на локальні копії
- Підтримка JPEG, PNG, GIF і WebP
- Опційна конвертація у WebP
- Коректне збереження оригінального формату, якщо конвертацію вимкнено
- Resize зі збереженням пропорцій через GD або Imagick
- Отримання зображень із
figure,picture,img,srcset, lazy-load атрибутів і meta-тегів
Категорії та теги
Розумне керування категоріями
- Отримання категорій із RSS, HTML і Sitemap-сторінок
- Візуальне зіставлення категорій сайту-донора з категоріями DLE
- Категорія за замовчуванням для незіставлених матеріалів
- Кілька категорій для одного матеріалу
- Для Hybrid-режиму доступна політика об’єднання категорій із RSS і HTML
Генерація та переклад тегів
- Автоматична генерація тегів через AI
- Fallback-генерація тегів із категорій, заголовка й тексту, якщо AI не повернув коректного результату
- Переклад тегів для DLE Multi-Language
- Fallback для
tags_{iso}з перекладеного контенту, якщо AI-переклад тегів недоступний - Нормалізація списку тегів: видалення сміття, дублів і надто довгих фраз
Захист від дублів і надійний прогрес
Система запобігання дублікатам
- Нормалізація URL перед перевіркою дублів
- Перевірка за source_url, GUID, заголовком і fingerprint контенту
- Коректна обробка duplicate skip без хибної помилки збереження
- Очищення dedupe-прогресу під час повного скидання джерела
- Захист від повторної публікації після зміни URL-параметрів, trailing slash або tracking-параметрів
Progress і cursor model
- HTML-джерела використовують URL cursor замість лічильника позиції на сторінці
- RSS і Sitemap використовують окремі стратегії для new_to_old та old_to_new
- Hybrid-режим просуває cursor навіть за контрольованих помилок, щоб джерело не зависало на одному матеріалі
- Скидання прогресу очищає пов’язані dedupe-записи джерела
Structured logs, статистика й моніторинг
Структуровані логи
- Кожен етап парсингу записується як structured event
- Лог містить
source_id,source_type,source_name,item_url,stage,status,message,duration_msі додатковий контекст - Окремо логуються етапи fetch, parse, download_images, ai_rewrite, translate, generate_tags, translate_tags, db_save та duplicate check
- Логи допомагають швидко зрозуміти, де саме витрачається час або виникає помилка
Health monitoring джерел
- Відстеження останнього успішного запуску
- Fail streak — кількість помилок поспіль
- Duplicate rate — для оцінки якості джерела
- Average fetch time та average run time
- Точніша статистика оброблених матеріалів для кожного source
Cloudflare, Proxy та мережевий рівень
Дворівнева система обходу захисту
- Enhanced cURL з імітацією браузерних заголовків
- Збереження cookie між запитами
- Інтеграція з FlareSolverr для обходу Cloudflare та JavaScript challenges
- Опційна підтримка HTTP/SOCKS5 proxy
- Автоматичне перемикання на FlareSolverr у разі виявлення захисної сторінки
- Graceful fallback на звичайний cURL, якщо обхід захисту не потрібен
Адміністративна панель
Керування джерелами й налаштуваннями
- Додавання й редагування HTML, RSS/Atom, Hybrid та Sitemap джерел
- Увімкнення й вимкнення джерел
- Скидання прогресу та повторна обробка
- Докладна довідка щодо режимів, селекторів, додаткових полів і налаштувань
- Попередження про ліміти сервера під час запуску повної симуляції парсингу
- Вбудований попередній перегляд підсумкового матеріалу перед публікацією
- Підтримка старих і нових AJAX endpoints DLE
Round-Robin планувальник
- Рівномірний розподіл навантаження між активними джерелами
- Автоматична ротація джерел
- Налаштування кількості матеріалів за один запуск CRON
- Захист CRON endpoint через secret key
- Structured logging кожного запуску
- Lock-захист від паралельного запуску того самого cron-процесу
Переваги використання
- Автоматизація: повний цикл від отримання матеріалу до збереження готової публікації в DLE
- Багатомовність: автоматичне заповнення мовних полів DLE Multi-Language
- Гнучкість: чотири режими роботи для різних типів джерел
- Якість контенту: AI-рерайт, переклад, генерація тегів і збереження HTML-структури
- Надійність: захист від дублів, стійкий cursor, controlled failure handling
- Прозорість: structured logs, health metrics і зрозумілий попередній перегляд перед публікацією
- Медіа: локальне збереження зображень, файлів, відео й галерей
- Масштабованість: необмежена кількість джерел з Round-Robin обробкою
- Сумісність: підтримка актуальних версій DLE та PHP 7.4–8.4
Сценарії застосування
- Новинні агрегатори: регулярний імпорт матеріалів із кількох RSS, HTML і Sitemap джерел
- Тематичні блоги: адаптація й переклад зарубіжного контенту основною мовою сайту
- Багатомовні сайти: автоматичне заповнення мовних версій матеріалів
- Оглядові портали: імпорт оглядів, інструкцій, гайдів і технічних статей
- Регіональні ЗМІ: збір публікацій із локальних джерел із подальшою обробкою
- Освітні проєкти: імпорт навчальних матеріалів, посібників і документації
- Контентні портали: масове наповнення розділів із контролем дублів, категорій і тегів
Технічні вимоги та сумісність
- DLE: 14.x – 20.0
- PHP: 7.4 – 8.4
- Розширення PHP: CURL, DOM, XPath, libxml, GD або Imagick, JSON, mbstring
- MySQL/MariaDB: сумісна версія, яку підтримує ваша версія DLE
- Права доступу: запис у
/uploads/posts/,/uploads/public_files/,/engine/data/,/engine/cache/ - AI API: DeepSeek або OpenAI, якщо використовуються рерайт, переклад чи генерація тегів
- CRON: доступ до налаштування планувальника завдань
- FlareSolverr: опційно, потрібен лише для сайтів із захистом Cloudflare/JavaScript
Скріншоти
Натисніть на скріншот, щоб збільшити
Виберіть відповідний тариф
Ми пропонуємо гнучкі варіанти ліцензування залежно від ваших потреб.
- 3 сайти (кожен — з усіма піддоменами)
- Відкритий вихідний код
- Підтримка 12 місяців
- Без оновлень
- Завантаження 7 днів
- Усі функції Стандарту
- 10 сайтів (кожен — з усіма піддоменами)
- Пріоритетна підтримка
- Оновлення 12 місяців
- Завантаження 12 місяців
- Усі функції Розширеного
- Необмежена кількість сайтів (кожен — з усіма піддоменами)
- Персональні консультації
- Оновлення назавжди
- Завантаження назавжди
- Встановлення та налаштування
- Адаптація під ваш сайт (включно з доопрацюванням коду)
Історія версій
-
3.1.0 поточна
- Нове Модуль полностью адаптирован под DLE 20.0: исправлена загрузка модуля и языковых файлов, восстановлено корректное отображение интерфейса панели управления и исправлена работа с базой данных новой версии движка.
- Нове Добавлена мультиязычность интерфейса: все тексты вынесены в языковые файлы language/Russian/parser.lng и language/English/parser.lng, язык модуля переключается вместе с языком админпанели DLE.
- Нове Добавлены новые AI-провайдеры OpenRouter и Google Gemini. Теперь доступны DeepSeek, OpenAI, OpenRouter и Gemini.
- Нове Добавлена автоматическая загрузка списка моделей напрямую от AI-провайдера и кнопка проверки соединения, поэтому переименование моделей у провайдера больше не ломает работу модуля.
- Нове Добавлен учёт расхода AI: количество запросов, токенов и оценочная стоимость по дням, провайдерам и моделям, а также месячный лимит расходов с возможностью остановки обработки.
- Нове Добавлено автоматическое восстановление заголовка, текста, изображения и категорий из микроразметки Schema.org / OpenGraph, если CSS-селекторы перестали работать после редизайна сайта-донора.
- Нове Добавлен подбор CSS-селекторов через AI: модуль анализирует структуру страницы и предлагает готовые селекторы, каждый из которых проверяется на реальной странице перед подстановкой.
- Нове Добавлена загрузка полного текста статьи для RSS-лент, которые отдают только анонс.
- Нове Добавлена опция сохранения оригинальной даты публикации источника вместо времени импорта.
- Покращення Обновлены модели DeepSeek (V4 Flash и V4 Pro) и OpenAI (GPT-5.6). Устаревшие идентификаторы моделей мигрируют автоматически при обновлении.
- Покращення Добавлено управление режимом размышления моделей DeepSeek, OpenAI и Gemini, что заметно снижает стоимость и время обработки.
- Покращення Значительно ускорена проверка дублей: вместо отдельного запроса на каждый URL используется пакетная выборка, что критично для больших sitemap и лент.
- Покращення Улучшен Hybrid режим: если селектор контента не задан или не сработал, текст статьи восстанавливается автоматически.
- Покращення Улучшена поддержка отложенной загрузки изображений: добавлены дополнительные варианты атрибутов и возврат к обычному src.
- Покращення Усилена безопасность: AJAX-запросы модуля теперь требуют прав администратора и проверки токена, добавлена защита от обращения к локальным и внутренним адресам.
- Покращення Улучшена работа CRON: увеличены лимиты выполнения, безопасное сравнение секретного ключа и корректная обработка ошибок на PHP 8.
- Покращення Обновлено оформление модуля под панель управления DLE 20: восстановлены цвета кнопок, меток, индикаторов прогресса и информационных блоков.
- Виправлення Исправлена основная причина, по которой AI-обработка молча не срабатывала: модель тратила весь лимит ответа на скрытые рассуждения и возвращала пустой результат, а модуль сохранял исходный текст без обработки.
- Виправлення Исправлено формирование краткого описания и разбиение текста для AI на больших и сложных страницах, где ранее описание могло оказаться пустым.
- Виправлення Исправлено обрезание длинных ответов AI: теперь запрос автоматически повторяется с увеличенным лимитом.
- Виправлення Исправлены повреждённые русские тексты в сообщениях проверки настроек источников.
- Виправлення Исправлена проверка соединения с базой данных на DLE 20: модуль лишний раз переподключался к MySQL на каждом шаге обработки.
- Виправлення Исправлены невидимые кнопки и метки в интерфейсе на DLE 20.
- Виправлення Найдены и исправлены другие мелкие ошибки.
-
3.0.0
- Нове Добавлена полноценная интеграция с DLE Multi-Language: автоматическое сохранение переводов в title_{iso}, short_story_{iso}, full_story_{iso} и tags_{iso}.
- Нове Добавлен новый режим парсинга Sitemap с поддержкой больших sitemap-файлов, вложенных sitemap index и кеширования списка URL.
- Нове Добавлен реальный dry-run режим тестирования: проверка теперь выполняет симуляцию полного парсинга без записи в базу данных и показывает итоговый publish payload.
- Нове Добавлены структурированные логи парсинга со стадиями обработки, статусами, временем выполнения, source_id, item_url и информацией об ошибках.
- Нове Добавлен мониторинг состояния источников: health status, fail streak, duplicate rate, average fetch/run time и время последнего успешного запуска.
- Покращення Полностью переработана логика HTML-парсинга списка материалов: теперь обрабатываются все найденные контейнеры, а не только первый matched node.
- Покращення HTML progress переведен на URL/cursor модель вместо count-based прогресса, что снижает риск пропуска новых материалов.
- Покращення Исправлена стратегия cursor для RSS, Hybrid и Sitemap в режиме new_to_old, чтобы новые материалы в верхней части источника не пропускались.
- Покращення Улучшен Hybrid режим: добавлена обработка ошибок по материалам, advancement cursor при сбоях и защита от бесконечного застревания на одном item.
- Покращення Добавлена поддержка HTML category selector в Hybrid режиме и политика объединения категорий RSS/HTML.
- Покращення Усилен механизм поиска дублей: добавлена нормализация URL, GUID/external id, fingerprint заголовка и hash контента.
- Покращення Улучшена нормализация URL перед проверкой дублей: учитываются trailing slash, fragment, tracking-параметры и различия в формате ссылок.
- Покращення Усилен CSS selector engine: добавлена поддержка групп, комбинаторов, атрибутных селекторов и ряда pseudo-селекторов.
- Покращення Добавлены предупреждения о поддерживаемом subset CSS-селекторов в help-разделе и test result.
- Покращення Улучшена AI-обработка HTML: сохранение структуры тегов, защита media/code/pre блоков, повторная проверка неполных переводов и более стабильная работа с длинным контентом.
- Покращення Улучшена генерация и перевод тегов, включая fallback-механизм, если AI не вернул корректный результат.
- Виправлення Исправлено сохранение изображений при отключенном reformat: теперь сохраняется реальный исходный формат файла.
- Виправлення Исправлены случаи, когда AI мог вернуть ссылки или HTML, не соответствующие настройкам очистки контента.
- Виправлення Исправлена обработка figure/img блоков: изображения корректно извлекаются, очищаются и могут быть загружены на сервер.
- Виправлення Исправлены случаи, когда code/pre блоки могли быть пропущены или удалены во время AI-обработки.
- Виправлення Исправлены проблемы с незакрытыми ul/ol/li тегами в AI-переводах.
- Виправлення Исправлена совместимость DB reconnect check с PHP 8 и mysqli.
- Виправлення Найдены и исправлены другие мелкие ошибки.
-
2.1.4
- Виправлення Обнаружены и исправлены некоторые баги.
-
2.1.3
- Виправлення Обнаружены и исправлены некоторые баги.
-
2.1.2
- Виправлення Обнаружены и исправлены некоторые баги.
Ще 5 версій
-
2.1.1
- Нове Добавлена автоматическая генерация тегов через DeepSeek AI — анализирует заголовок и текст статьи и предлагает теги на русском языке
- Нове Новая настройка в разделе «Основные» — включение/отключение генерации тегов с указанием зависимости от AI Rewrite
- Нове Настраиваемый промпт для генерации тегов добавлен в раздел «AI Rewrite»
-
2.1.0
- Нове Добавлена поддержка DLE 19.1
- Нове Теперь парсер умеет автоматически скачивать с сайта-донора файлы, видео, изображения и целые галереи — и сохранять всё это в дополнительные поля вашего сайта. Торренты, обложки, скриншоты, локальные видео — всё подтягивается само
- Нове Можно сохранять в дополнительное поле любой текстовый блок со страницы — например, таблицу характеристик или описание, прямо с форматированием
- Нове При парсинге RSS лента теперь старается взять обложку статьи с самой страницы (более качественную), а не из RSS-потока
- Нове В раздел «Помощь» добавлено подробное руководство по дополнительным полям — с примерами для каждого типа данных (файл, фото, видео, галерея, текст) и советами по частым ошибкам
- Виправлення Найдены и исправлены некоторые мелкие баги.
-
2.0.0
- Нове Добавлена поддержка Proxy (HTTP/SOCKS5) для обхода блокировок и смены IP
- Нове Интеграция FlareSolverr для автоматического обхода Cloudflare защиты
- Нове Гибкая настройка очистки контента из админ-панели (удаление scripts, styles, links, атрибутов)
- Нове FlareSolverr fallback для изображений при неудачной загрузке через cURL
- Нове Автоматическое определение и использование Proxy из настроек во всех AJAX endpoints
- Нове Проверка статуса FlareSolverr в режиме реального времени
- Нове Тестирование Proxy прямо из настроек с определением IP и геолокации
- Покращення Улучшенная архитектура
- Покращення Обновлен интерфейс настроек: 6 категорий (Основные, Cloudflare, Proxy, Очистка контента, AI Rewrite, Изображения)
- Виправлення Исправлены проблемы с загрузкой страниц, защищенных Cloudflare
- Виправлення Устранены конфликты имен функций между разными модулями
-
1.0.1
- Виправлення Обнаружены и исправлены некоторые баги.
-
1.0.0
- Нове Первый релиз модуля