Реалізація експорту спарсених даних (CSV/JSON/API)

Наша компанія займається розробкою, підтримкою та обслуговуванням сайтів будь-якої складності. Від простих односторінкових сайтів до масштабних кластерних систем, побудованих на мікро сервісах. Досвід розробників підтверджено сертифікатами від вендорів.

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

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

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

Пропоновані послуги
Показано 1 з 1 послугУсі 2065 послуг
Реалізація експорту спарсених даних (CSV/JSON/API)
Проста
від 1 робочого дня до 3 робочих днів
Часті питання

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

Етапи розробки

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

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

Реалізація експорту отриманих даних (CSV/JSON/API)

Отримані дані потрібні у різних форматах: аналітичні команди потребують CSV для Excel, розробники потребують JSON через API, інтеграції з іншими системами потребують вебхуків або прямого доступу до endpoint-ів.

Експорт CSV

Для великих обсягів (>10k рядків) ми не генеруємо весь файл у пам'яті — ми потокуємо його:

import csv
import io
from flask import Response, stream_with_context

def export_csv(site_id: int, filters: dict):
    def generate():
        output = io.StringIO()
        writer = csv.DictWriter(output, fieldnames=[
            'id', 'name', 'price', 'currency', 'url', 'in_stock', 'scraped_at'
        ])
        writer.writeheader()
        yield output.getvalue()
        output.truncate(0); output.seek(0)

        for product in stream_products(site_id, filters):
            writer.writerow(product)
            yield output.getvalue()
            output.truncate(0); output.seek(0)

    return Response(
        stream_with_context(generate()),
        mimetype='text/csv',
        headers={'Content-Disposition': 'attachment; filename=export.csv'},
    )

JSON API

REST endpoint із фільтруванням, пагінацією та вибором полів:

GET /api/v1/scraped-products?site_id=7&in_stock=true&fields=name,price,url&page=1&per_page=100
{
  "data": [
    { "name": "Кросівки Nike Air Max", "price": 89.99, "url": "https://..." }
  ],
  "meta": {
    "page": 1,
    "per_page": 100,
    "total": 4823
  }
}

Аутентифікація — API-ключ у заголовку X-API-Key. Доступ обмежується по IP та rate-limit (100 запитів/хв).

Вебхук-сповіщення

Після завершення парсингу або оновлення даних система відправляє POST на URL вебхуку клієнта:

import httpx, hashlib, hmac

def send_webhook(url: str, secret: str, payload: dict):
    body = json.dumps(payload).encode()
    sig = hmac.new(secret.encode(), body, hashlib.sha256).hexdigest()
    httpx.post(url, content=body, headers={
        'Content-Type': 'application/json',
        'X-Signature-SHA256': f'sha256={sig}',
    }, timeout=10)

Підпис дозволяє отримувачу перевірити автентичність запиту.

Строки реалізації

CSV та JSON API з базовою аутентифікацією — 1–2 робочі дні. Вебхуки з підписами, фільтри, вибір полів — ще 1 день.