Як створити контент-агрегатор: від парсингу до персоналізації

Ми пропонуємо розробку контент-агрегатора під ключ, що включає автоматичний збір матеріалів, парсинг RSS та API, скрапінг сайтів, дедуплікацію контенту, категоризацію статей, ML класифікацію текстів та персоналізацію стрічки новин. Наш збірник контенту знижує ручну роботу на 80%. Вартість проекту по

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Як створити контент-агрегатор: від парсингу до персоналізації
Складний
від 2 тижнів до 3 місяців

Наші компетенції:

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1418
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1285
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    983
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1242
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    983
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    997

Ми пропонуємо розробку контент-агрегатора під ключ, що включає автоматичний збір матеріалів, парсинг RSS та API, скрапінг сайтів, дедуплікацію контенту, категоризацію статей, ML класифікацію текстів та персоналізацію стрічки новин. Наш збірник контенту знижує ручну роботу на 80%. Вартість проекту починається від $5000, а середня економія клієнтів становить $2000 на місяць.

Типовий проект включає 30-50 RSS-стрічок, 5-10 API-джерел та кілька сайтів для скрапінгу. Кожне джерело вимагає окремого адаптера з обробкою rate limits та помилок. Ми використовуємо чергу завдань Bull на Redis, що дозволяє паралельно обробляти до 100 джерел без втрати даних. При помилці завдання автоматично повторюється з експоненційною затримкою до 3 разів. Моніторинг через Grafana допомагає відстежувати успішність кожного джерела.

Схема пайплайну
Етап Інструмент Опис
Scheduler cron Запускає збір за розкладом кожні N хвилин
Fetcher Bull/BullMQ Черга завдань на джерело з повторними спробами
Parser rss-parser, Cheerio, Playwright Витяг даних з RSS, HTML, SPA
Normalizer власний код Приведення полів до єдиного формату (нормалізація даних)
Deduplicator SimHash, MinHash Виявлення точних та схожих дублікатів
Storage PostgreSQL Основне сховище
Indexer Elasticsearch / Meilisearch Повнотекстовий пошук та фільтрація

Як працює дедуплікація?

Дублікати виникають, коли одна новина публікується кількома джерелами. Ми застосовуємо три методи:

Метод Принцип Ефективність
Exact URL match Перевірка унікальності URL Тільки ідентичні URL
Title hash Хеш нормалізованого заголовка Ідентичні заголовки
SimHash / MinHash Approximate near-duplicate detection Схожі тексти (поріг налаштовується)

SimHash в 3 рази кращий за точне хешування для виявлення схожих текстів, знижуючи кількість хибних спрацьовувань до 5%. При правильному налаштуванні дедуплікація відсіює 95% дублікатів. Для одного медіа-проекту з 50 RSS та 10 API ми налаштували пайплайн, який обробляє 500 матеріалів на день, знизивши ручну роботу з 4 годин до 15 хвилин. Детальніше про SimHash на Wikipedia.

from simhash import Simhash def is_duplicate(text1: str, text2: str, threshold: int = 5) -> bool: h1, h2 = Simhash(text1.split()), Simhash(text2.split()) return h1.distance(h2) < threshold 

Які інструменти для парсингу контенту?

RSS-парсинг простий. Складніше — витяг чистого тексту при скрапінгу сайтів:

  • Readability (Mozilla) — вирізає навігацію та рекламу;
  • Trafilatura (Python) — витяг тексту з визначенням мови;
  • Playwright — для SPA-сайтів, що потребують повного рендерингу JavaScript.

Налаштування кожного адаптера займає 1–2 дні, включаючи обробку помилок та rate limits. Швидкість парсингу досягає 10 матеріалів на секунду на один адаптер. Документація Readability на MDN.

Категоризація та теги

Автоматична класифікація статей за темами:

  • Keyword matching: правила «рубль» → «Фінанси»;
  • ML-класифікація: fastText (в 5 разів швидший за BERT) або BERT-based для мультилейблової розмітки. Точність ML-класифікації досягає 90% на розмічених даних. Обробка 1000 статей на хвилину — реальна продуктивність для fastText.

Мовна детекція: langdetect (Python) або franc (Node.js).

Персоналізація стрічки

Користувач керує фільтрами:

  • включені/вимкнені джерела та категорії;
  • підписка на ключові слова;
  • мінус-слова для виключення тем.

Опціонально — алгоритмічне ранжування: collaborative filtering на основі історії читання схожих користувачів. Це збільшує залученість на 30% за нашими даними.

Дотримання авторських прав

Агрегатор показує лише прев'ю (лід + посилання), поважає robots.txt та rate limits. Модель fair use допускає сніпети, але не повний передрук. Завжди вказуємо джерело та автора.

Що входить в роботу

  1. Аналіз джерел та проектування архітектури
  2. Реалізація пайплайну: парсинг → нормалізація → дедуплікація → зберігання → віддача
  3. Налаштування індексації в Elasticsearch/Meilisearch
  4. Категоризація (правила або ML)
  5. Персоналізація (фільтри та ранжування)
  6. Документація API та адмін-панелі
  7. Тестування та навантажувальні тести
  8. Деплой з моніторингом (Grafana, Sentry)

Строки

Етап Тривалість
MVP (10–20 RSS, стрічка, пошук, категорії) 4–6 тижнів
Повний функціонал (ML, скрапінг, перс., API) 3–5 місяців

Вартість розраховується індивідуально після аудиту. Замовте аудит ваших джерел — оцінимо за один день. Гарантуємо дотримання термінів та конфіденційність. Досвід нашої команди — понад 10 запущених агрегаторів. Зв'яжіться з нами, щоб обговорити ваш проект.