Розробка бота-парсера товарів з маркетплейсів (Ozon, Wildberries, Amazon)

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

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

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

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

Пропоновані послуги
Показано 1 з 1 послугУсі 2065 послуг
Розробка бота-парсера товарів з маркетплейсів (Ozon, Wildberries, Amazon)
Складна
~5 робочих днів
Часті питання

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

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

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

  • 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

Бот-парсер товарів з маркетплейсів

Парсинг маркетплейсів (Ozon, Wildberries, Amazon) — інший клас завдань порівняно з парсингом звичайних сайтів поставщиків. Ozon та Wildberries активно протидіють скрапингу: захист Cloudflare, динамічний JS, browser fingerprinting, rate limiting. Для кожного маркетплейсу — окрема стратегія.

Законні API проти парсингу

Перед парсингом варто перевірити офіційні можливості:

Маркетплейс Офіційний API Обмеження
Ozon Seller API (для продавців) Тільки свої товари
Wildberries Seller API, Statistics API Тільки свої дані
Amazon Product Advertising API Потрібне партнерство

Парсинг чужих товарів маркетплейсів — у сірій зоні. Використовується для конкурентного аналізу, моніторингу цен, дослідження ринку.

Wildberries: парсинг через JSON API

# scraper/wildberries.py
import httpx
import asyncio

class WildberriesScraper:
    CARD_URL = "https://card.wb.ru/cards/v2/detail"

    async def get_product(self, nm_id: int):
        params = {"appType": 1, "curr": "rub", "nm": nm_id}
        resp = await self.client.get(self.CARD_URL, params=params)
        data = resp.json()
        return self._normalize(data.get("data", {}).get("products", [])[0])

    async def search_products(self, query: str):
        params = {"appType": 1, "query": query}
        resp = await self.client.get(self.SEARCH_URL, params=params)
        products = resp.json().get("data", {}).get("products", [])
        return [self._normalize(p) for p in products]

Ozon: Playwright для SPA

# scraper/ozon.py
from playwright.async_api import async_playwright

class OzonScraper:
    async def scrape_product(self, url: str):
        async with async_playwright() as p:
            browser = await p.chromium.launch(headless=True)
            page = await browser.new_page()

            product_data = {}

            async def handle_response(response):
                if "/api/entrypoint-api.bx/page/json" in response.url:
                    data = await response.json()
                    widget_states = data.get("widgetStates", {})
                    for key, value in widget_states.items():
                        if "webProductHeading" in key:
                            product_data["heading"] = json.loads(value)

            page.on("response", handle_response)
            await page.goto(url, wait_until="networkidle")
            await browser.close()

            return self._normalize_ozon(product_data)

Amazon через офіційний API

Для Amazon використовується Product Advertising API 5.0:

# scraper/amazon_pa.py
from paapi5_python_sdk import DefaultApi, SearchItemsRequest

class AmazonScraper:
    def search_products(self, keywords: str):
        request = SearchItemsRequest(
            partner_tag=self.partner_tag,
            keywords=keywords,
            resources=["ItemInfo.Title", "Offers.Listings.Price"],
        )
        response = self.api.search_items(request)
        return [self._normalize(item) for item in response.search_result.items]

Терміни розробки

Маркетплейс Складність Термін
Wildberries (JSON API) Середня 3-5 днів
Ozon (Playwright) Висока 5-8 днів
Amazon (PA API) Низька 2-3 дні

Парсер маркетплейсу з моніторингом та алертами — 5-8 робочих днів для 3-5 конкурентів.