Программа реализует парсинг данных с сайта, с последующим выводом данных в гугл таблицы, который вместе с этим являются пользовательским интерфейсом.
Requests + Pydantic + Google API
-
Парсер осуществляет сбор различных данных о товарах, с целью последующего использования этих данных для аналитики.
-
Парсер имеет два режима сбора информации:
- Поиск по словам;
- Поиск по артикулу.
- Данные которые собирает парсер:
- Артикул;
- Бренд;
- Наименование;
- Цена со скидкой;
- Базовая цена;
- Ссылка.
-
Интерфейс программы выстроен внутри гугл таблиц, где в одном листе задаются параметры для парсинга, а два других выводят результаты в соответствии с выбранным режимом.
-
Лист запросов осведомляет пользователей о текущем статусе парсера и возникших ошибках.
-
Для удобства, в результат также записывается дата сканирования и данные запроса.
-
run.py:
- Запускает парсер, проверяет целостность размеки таблиц и считывает текущий режим сканирования.
-
parser_wb.py:
- Содержит два класса, которые используются для разных режимов сканирования.
- Выполняет парсинг в выбранном режиме, проверяет входящие json файлы на корректность информации.
- Собранную информацию отправляет в гугл таблицы.
-
gtab.py:
- Выполняет функции связанные с гугл таблицами.
- Содержит функцию проверки целостности разметки таблиц.
- Функции считывающие параметры запросов.
- Флаг "Запуск" - определяет нужно ли сейчас отправить именно этот запрос;
- Параметр "Прочитано" - определяет завершилось ли сканирование по запросу;
- Параметр "Ссылка" - определяет запрос(параметры ключевого слова, интервала цен, бренда, продавца), который будет передан на сканирование;
- Параметр "Количество страниц" - определяет, сколько страниц будет просканировано по запросу в режиме "Ссылка";
- Параметр "Артикул" - определяет запрос, содержащий последовательность требуемых для сканирования артикулов.
- Отслеживает и отображает в таблице текущие ошибки в процессах сканирования.
- Отслеживает и отображает текущее состояние парсера.
- Записывает полученные данные в таблицы в соответствии с выбранным режимом.
-
models.py:
- Обеспечивает валидацию данных полученных из json'ов.
- Код был написан на Python 3.12
- Зависимости из файла
requirements.txt