Розширений парсер E-commerce (Selenium та обхід антибот-захисту)
Мета: Розробити стійкий веб-скрапер для збору актуальних даних про товари в реальному часі з динамічних e-commerce платформ (таких як eBay) для моніторингу цін та аналітики.
Головні виклики:
Динамічний контент: Дані завантажувалися через складні JavaScript/AJAX запити, а не просто лежали в HTML.
Антибот-системи: Платформи використовували просунуті алгоритми для блокування автоматизованих дій.
Нестабільна верстка: Структура сторінок (DOM) могла змінюватися, через що звичайні жорстко прописані парсери миттєво ламалися б.
Моє рішення:
Обхід захисту: Я використав Selenium із гнучкими stealth-конфігураціями webdriver. Щоб скрипт виглядав як жива людина, я додав імітацію природної поведінки (рандомні затримки між кліками, скролінг), що дозволило збирати дані без ризику блокування.
Стійкість коду (Fallback Selectors): Я впровадив систему динамічних резервних селекторів. Якщо інтернет-магазин незначно змінював дизайн або верстку, скрипт не падав з помилкою, а автоматично переходив на запасний варіант пошуку елемента і продовжував роботу.
Автоматична навігація: Налаштовано надійну пагінацію, що дозволило автономно зібрати сотні лістингів із безлічі сторінок за один запуск.
Глибока очистка даних: Сирі дані з інтернет-магазинів часто містять сміття. Я застосував регулярні вирази (Regex) для очищення тексту (наприклад, виділення чистої ціни без валюти і пробілів) та Pandas для сортування фінального датасету за зростанням ціни.
Використані технології: Python, Selenium (Stealth), Pandas, Regex (Регулярні вирази).
Результат:
Замовник отримав не просто скрипт, а надійний інструмент. На виході — ідеально відформатовані, відсортовані та готові до продакшену CSV-файли, які можна одразу завантажувати в аналітичні системи чи бази даних.
Головні виклики:
Динамічний контент: Дані завантажувалися через складні JavaScript/AJAX запити, а не просто лежали в HTML.
Антибот-системи: Платформи використовували просунуті алгоритми для блокування автоматизованих дій.
Нестабільна верстка: Структура сторінок (DOM) могла змінюватися, через що звичайні жорстко прописані парсери миттєво ламалися б.
Моє рішення:
Обхід захисту: Я використав Selenium із гнучкими stealth-конфігураціями webdriver. Щоб скрипт виглядав як жива людина, я додав імітацію природної поведінки (рандомні затримки між кліками, скролінг), що дозволило збирати дані без ризику блокування.
Стійкість коду (Fallback Selectors): Я впровадив систему динамічних резервних селекторів. Якщо інтернет-магазин незначно змінював дизайн або верстку, скрипт не падав з помилкою, а автоматично переходив на запасний варіант пошуку елемента і продовжував роботу.
Автоматична навігація: Налаштовано надійну пагінацію, що дозволило автономно зібрати сотні лістингів із безлічі сторінок за один запуск.
Глибока очистка даних: Сирі дані з інтернет-магазинів часто містять сміття. Я застосував регулярні вирази (Regex) для очищення тексту (наприклад, виділення чистої ціни без валюти і пробілів) та Pandas для сортування фінального датасету за зростанням ціни.
Використані технології: Python, Selenium (Stealth), Pandas, Regex (Регулярні вирази).
Результат:
Замовник отримав не просто скрипт, а надійний інструмент. На виході — ідеально відформатовані, відсортовані та готові до продакшену CSV-файли, які можна одразу завантажувати в аналітичні системи чи бази даних.