Сайт для керування парсерами (Python + Selenium)
Цю просту в користуванні, але дуже ефективну в роботі, систему для керування парсерами було реалізовано для наповнення контентом сайтів для лістингу бізнесів в США та Великій Британії. Складається із 2 логічних компонентів:
* модуля запуску і керування парсерами
* веб-сайту в якості користувацького інтерфейсу.
Головні можливості:
* більше 450 реалізованих парсерів різної складності
* забзепечення високої продуктивності парсерів за рахунок паралелізації їх роботи
* вбудована система захисту від детекції: ротація проксі, відсутність headless флагу завдяки віртуальному дисплею, анти-детект засоби для браузерів під керуванням Selenium
* контроль роботи парсерів: запуск парсера із параметрами (виключення або включення інтервалів штатів, провінцій, сторінок тощо), запуск всіх парсерів в категорії, передчасна зупинка парсингу
* моніторниг роботи парсерів: кількість успішно опрацьованих точок, кількість заблокованих проксі, загальний статус роботи
* можливість скачування лог-файлів для аналізу проблем
* можливість оновити перелік парсерів, без необхідності повної зупинки всіх
Технічний стек:
* Фреймворки: FastAPI
* Бібліотеки: Bootstrap, pymysql, Pillow (бували задачі із парсингу зображень)
* Парсинг-інфраструктура: multiprocessing, requests, BeautifulSoup, Selenium, undetected-chromedriver, xvfb
* Інші інструменти: Docker та docker-compose, Sentry
* модуля запуску і керування парсерами
* веб-сайту в якості користувацького інтерфейсу.
Головні можливості:
* більше 450 реалізованих парсерів різної складності
* забзепечення високої продуктивності парсерів за рахунок паралелізації їх роботи
* вбудована система захисту від детекції: ротація проксі, відсутність headless флагу завдяки віртуальному дисплею, анти-детект засоби для браузерів під керуванням Selenium
* контроль роботи парсерів: запуск парсера із параметрами (виключення або включення інтервалів штатів, провінцій, сторінок тощо), запуск всіх парсерів в категорії, передчасна зупинка парсингу
* моніторниг роботи парсерів: кількість успішно опрацьованих точок, кількість заблокованих проксі, загальний статус роботи
* можливість скачування лог-файлів для аналізу проблем
* можливість оновити перелік парсерів, без необхідності повної зупинки всіх
Технічний стек:
* Фреймворки: FastAPI
* Бібліотеки: Bootstrap, pymysql, Pillow (бували задачі із парсингу зображень)
* Парсинг-інфраструктура: multiprocessing, requests, BeautifulSoup, Selenium, undetected-chromedriver, xvfb
* Інші інструменти: Docker та docker-compose, Sentry