Парсер книг для мониторинга цен конкурентов

Задача: Создать парсер книг для мониторинга цен конкурентов для интернет-магазина CLOUDS SHOP

CLOUDS SHOP - интернет-магазин, занимающийся продажей эзотерических товаров.

В рамках поставленной задачи был разработан парсер, который ищет на указанных в конфигурационном файле сайтах книги по уникальному номеру ISBN. На выходе получаем файл в формате XLS (XLSX), в котором указаны цены на запрашиваемые книги с подсветкой самой низкой и самой высокой цен сайтов-конкурентов.

Пример файла для загрузки можно посмотреть на страничке Парсер книг и скачать.

В парсере есть отдельный класс для валидации входных данных, который выводит на экран найденные ошибки с указанием на конкретную ячейку с ошибкой.

В нижнем углу экрана выведена информация о поиске и чтении файла, обновляемая в реальном времени.

При разработке предусмотрели такой вариант, при котором парсинг можно приостановить в любой момент, и загружаемый файл можно парсить с указанной строки, так как количество строк в файле может быть очень большим, и пользователь не успевает прогнать его полностью или же просто хочет прервать выполнение скрипта. Или прервалось соединение с сервером. В таком случае можно продолжить выполнение скрипта с нужной строки.

На парсинг книг на каждом из сайтов дается три попытки на случай того, что сервер не успевает прогрузить страничку в течение указанного в запросе таймаута или возникают иные ошибки на стороне запрашиваемых сайтов.

После успешного поиска и парсинга книг формируем файл с результатами выполнения запросов, и итоговый файл доступен для скачивания.

В документации к парсеру указаны все символы и цвета заливки ячеек, которые могут встретиться в выходном файле.