Блог

Парсинг цін: що це, чи законно та скільки коштує

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

Як це працює технічно, простими словами

Коли ви відкриваєте сторінку товару в браузері, сервер повертає HTML-код, а браузер малює з нього те, що ви бачите: назву, ціну, кнопку «купити». Парсер робить те саме перше — завантажує той самий HTML-код, — але замість того, щоб малювати сторінку, шукає в ньому конкретні шматки тексту: ціну, наявність, назву товару. Найпростіший парсер — це скрипт, який робить запит на URL і витягує ціну за допомогою пошуку по тегах або по структурованих даних, які багато сайтів вже вбудовують спеціально для пошукових систем (розмітка Schema.org/Product).

Складніше стає, коли сайт підвантажує ціну через JavaScript вже після того, як сторінка завантажилась — тоді простий запит поверне HTML без ціни взагалі, і потрібен «справжній» браузер, який виконає скрипти сторінки так само, як зробив би покупець. Саме так побудовані багато сучасних інтернет-магазинів і маркетплейсів, включно з Rozetka — детальніше про цю специфіку в статті «Моніторинг цін на Rozetka».

Чи законно парсити ціни конкурентів в Україні

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

Самописний скрипт: чесна собівартість

«Напишемо парсер за вечір» — типова недооцінка. Перша версія справді може зайняти кілька годин: запит, пошук ціни в HTML, запис у таблицю. Але це тільки початок витрат:

  • Підтримка верстки. Конкурент оновлює дизайн сайту — і структура HTML міняється. Скрипт, який шукав ціну за певним класом CSS, перестає її знаходити. Хтось повинен це помітити і полагодити.
  • Захист від ботів. Частина сайтів блокує підозріло часті запити з одного IP або вимагає виконання JavaScript, щоб віддати сторінку. Це означає інфраструктуру для рендерингу сторінок у браузері, а не просто HTTP-запити.
  • Моніторинг збоїв. Якщо скрипт мовчки перестав отримувати дані по половині товарів, хтось повинен це побачити — інакше ви приймаєте рішення про ціни на застарілих даних, вважаючи їх свіжими.
  • Час розробника на постійній основі. Це не разова задача, а щомісячна підтримка. Порахуйте вартість години розробника і 3-5 годин на місяць тільки на «дрібний ремонт» — і порівняйте з ціною готового сервісу.

Для 5-10 товарів і одного стабільного конкурента власний скрипт може виправдати себе. Для десятків товарів і кількох конкурентів прихована вартість підтримки зазвичай перевищує підписку на готовий сервіс — просто вона розмазана по часу розробника і не виглядає як один рахунок.

Готовий сервіс: що входить у ціну

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

Що вибрати

Якщо у вас є штатний розробник з вільним часом і невеликий, стабільний список конкурентів — спробуйте власний скрипт, це чудовий спосіб зрозуміти задачу зсередини. Якщо часу розробника немає, товарів багато, а конкуренти оновлюють сайти регулярно — готовий сервіс обійдеться дешевше в перерахунку на витрачений час команди. Загальне порівняння всіх підходів, включно з ручним моніторингом і агрегаторами, — у статті «Як дізнатися ціни конкурентів: 5 робочих способів».

Не пишіть парсер із нуля — спробуйте Видно безкоштовно

Ми вже вирішили питання захисту від ботів, JS-heavy сторінок і моніторингу збоїв за вас.

Спробувати безкоштовно