---
title: "Як парсити дані про товари з URL-адрес"
date: 2026-11-11
lang: uk
url: https://archiboard.design/blog/how-to-parse-product-data-from-urls
---

# Як парсити дані про товари з URL-адрес

Скопіювати ціну, артикул та три фотографії зі сторінки постачальника займає кілька хвилин. Зробіть це для 150 позицій у проєкті житлового будинку, і робочий день буде витрачено, а помилки — у подарунок. Цей посібник показує, як надійно парсити дані про товари з URL-адрес: спочатку перевірте структуровані дані, витягніть потрібні поля, поверніться до парсингу макета, коли розмітка відсутня, і очистіть результат, щоб він одразу потрапив до кошторису.

Що вам знадобиться перед кроком 1:

- Список URL-адрес товарів постачальників (по одному на товар, а не сторінки категорій)
- Браузер із інструментами розробника або середовище Python, якщо ви хочете написати скрипт
- Цільовий формат для ваших даних: назва, артикул, ціна, валюта, зображення, розміри
- Правило для вашої базової валюти, щоб ціни можна було порівнювати

## Чому парсинг URL-адрес товарів кращий за ручне введення

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

Вивчення того, як парсити дані про товари з URL-адрес, перетворює кожен з них на послідовний запис. Посібники від [Oxylabs](https://oxylabs.io/blog/how-to-scrape-amazon-product-data) та [Zyte](https://www.zyte.com/blog/how-to-extract-data-from-a-website/) показують загальний шаблон: запитати сторінку, знайти поля, зберегти їх у структурованому форматі. Та сама логіка застосовується до товарів для інтер'єру, незалежно від того, чи пишете ви скрипт самостійно, чи використовуєте інструмент, який робить це за вас.

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

## Крок 1: Перевірте, чи має сторінка постачальника дані продукту у форматі JSON-LD

Перш ніж писати селектор або вивчати новий інструмент, дізнайтеся, чи сторінка вже надає вам чисті дані. Багато сайтів постачальників вбудовують структуровані дані в тег скрипта з типом `application/ld+json`. Він розташований окремо від видимого макета і існує для того, щоб пошукові системи та інші системи могли послідовно читати продукт.

Щоб перевірити, відкрийте сторінку продукту, перегляньте вихідний код сторінки та знайдіть `ld+json`. Якщо ви знайдете блок, прочитайте його. Ви шукаєте тип `Product` зазвичай з вкладеним `Offer` що містить ціну. Безкоштовний [JSON-LD extractor and schema checker](https://www.ysskrishna.space/tools/json-ld-extractor) може витягти ці блоки для вас і позначити те, що присутнє, що допомагає, коли вихідний код сторінки — це стіна мініфікованого коду.

Два застереження. Не кожен сайт публікує структуровані дані, а інструменти, що покладаються на них, нічого не повертають для сторінок без розмітки. І сторінка може містити кілька типів схем одночасно (хлібні крихти, організація, продукт), тому переконайтеся, що ви читаєте блок `Product` а не щось поруч із ним.

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

## Крок 2: Вилучення назви, артикула, ціни та зображень зі структурованих даних

Коли JSON-LD присутній, вилучення є простим, оскільки поля позначені. Інструмент на кшталт [вилучач схем електронної комерції](https://apify.com/physealabs/ecommerce-schema-extractor) зчитує назву, ціну, валюту, наявність, бренд, артикул, GTIN, рейтинг та зображення з JSON-LD схеми.org, мікроданих та OpenGraph, що охоплює більшість того, що потрібно дизайнеру.

Якщо ви віддаєте перевагу самостійному написанню скриптів для парсингу даних продукту з URL-адрес, процес є коротким. Отримайте сторінку, знайдіть кожен `ld+json` скрипт, розпарсіть кожен як JSON і виберіть об'єкт, тип якого є `Product`. Потім прочитайте ці поля:

- **name**: назва продукту
- **sku** або **gtin**: ідентифікатор, який ви вкажете в замовленнях на покупку
- **brand**: виробник
- **image**: один URL або список URL-адрес
- **offers**: ціна, валюта та наявність

Слідкуйте за парою ціни та валюти. Це окремі поля, і розгляд голого числа як євро — це саме те, як бюджет тихо йде не так. Завжди захоплюйте обидва.

Також перевірте, як перелічені зображення. Деякі сайти надають одне головне зображення, інші — повну галерею. Для презентаційних дощок вам потрібна версія з найвищою роздільною здатністю, тому подивіться на шаблон URL і перевірте, чи існує більший варіант.

Перевага цього шляху — стабільність. Оскільки структуровані дані живуть у власному тегу скрипта, редизайн сайту, який змінює макет, рідко ламає їх, тому ваш парсинг набагато менш крихкий, ніж будь-що, побудоване на селекторах.

## Крок 3: Резервне копіювання до парсингу макета та обробка заблокованих або JavaScript-сторінок

Деякі сторінки не мають корисної структурованої інформації. У такому випадку ви аналізуєте видимий макет, визначаючи елементи за їхніми тегами та CSS-класами. Посібник « [Python web scraping для отримання інформації про товари](https://rola-ip.co/blog/python-web-scraping-for-product-information/) » демонструє цей стиль, використовуючи специфічні селектори, такі як заголовок «product-title», щоб витягти назву.

Навчання аналізу даних про товари з URL-адрес за допомогою аналізу макета працює, але це ненадійно. Селектори залежать від того, як побудована сторінка, тому коли постачальник оновлює свій шаблон, ваш витяг може мовчки нічого не повертати або захоплювати неправильний елемент. Тримайте свої селектори в одному місці, щоб їх було легко виправити, і вибірково перевіряйте вивід щоразу, коли постачальник перезапускає свій сайт.

Часто виникають ще дві перешкоди:

- **Блокування.** Великі роздрібні продавці відмовлятимуться від звичайного запиту скрипта. Надсилання реалістичних заголовків запитів допомагає, хоча деяким сайтам потрібно більше, ніж це.
- **Рендеринг JavaScript.** Якщо ціна або галерея з'являються лише після виконання сторінкою скриптів, простий запит бачить порожню оболонку. Для таких сторінок вам потрібен браузер без голови, такий як Playwright або Selenium, який завантажує сторінку так, як це робив би браузер людини, перш ніж ви її прочитаєте.

Якщо це звучить як більше інженерії, ніж хоче взяти на себе дизайн-студія, то це справедливо. Саме для цього проміжку створено Web Clipper від ArchiBoard на базі ШІ: він витягує фотографії, ціни та артикули з URL постачальника без необхідності підтримувати селектори чи налаштування рендерингу. Яким би шляхом ви не пішли, протестуйте його на кількох реальних URL з кожного постачальника, перш ніж довіряти йому повний проєкт. Успіх на одному сайті мало говорить про наступний.

## Крок 4: Нормалізувати валюту, видалити дублікати та надати оцінки

Знати, як витягувати дані про товари з URL, — це лише половина справи, тому що сире витягнення ще не є придатними для використання даними. Останній крок робить їх порівнянними.

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

**Видалити дублікати.** Один і той самий товар часто з'являється під різними URL: параметри відстеження, варіанти кольору, регіональні домени, кінцеві слеші. Видаліть рядки запитів, які вам не потрібні, переведіть хост у нижній регістр і використовуйте SKU або GTIN як основний ключ, де він існує. Два записи з однаковим SKU від одного постачальника — це майже напевно один товар.

**Перевірте поля, які мають значення для інтер'єрів.** Структуровані дані рідко містять торгові атрибути, такі як розміри, оздоблення або терміни виконання, тому може знадобитися ручна обробка або читання описового тексту. Позначте будь-який запис, якому бракує ціни або SKU, щоб він не потрапив до кошторису як нульовий.

**Додайте до кошторису.** Після того, як записи будуть очищені, вони повинні належати до кімнат, а не бути у плоскому списку. Призначте кожен продукт до кімнати, встановіть кількість, і нехай загальні суми накопичуються за кімнатою та за проєктом. Якщо ви, наприклад, шукаєте підлогове покриття, чистий набір записів значно прискорить порівняння варіантів у [каталозі паркету](/catalog/parquet) або [базі даних постачальників паркету](/blog/parquet-flooring-supplier-database) , оскільки кожен кандидат показуватиме однакові поля поруч.

Щоб пропустити сантехніку, ви можете переглянути [спільний каталог продуктів](/catalog) з понад 62 000 позицій, які вже містять бренди, ціни та розміри, або [створити безкоштовний стартовий обліковий запис](/register) і додати URL свого першого постачальника. У будь-якому випадку, принцип залишається незмінним: визначте свої поля один раз, фіксуйте їх послідовно, і нехай цифри говорять самі за себе.
