Интернет-магазины. Наполнение config файла парсера (Дистанционная работа)

Бюджет: 3 000 руб.

Задание: Интернет-магазины. Наполнение config файла парсера (Дистанционная работа)

Есть скрипт сбора цен с сайтов. Файлы скрипта лежат в Google Cloud по ссылке - https://console.cloud.google.com/storage/browser/retail-prices-parser?pageState=("StorageObjectListTable":("f":"%255B%255D"))&authuser=4&invt=AbixYA&project=black-obelisk-381313 Внимание! Изменять какие-либо файлы в папках запрещено! У скрипта есть боевая и тестовая версии. Боевая лежит в основной папке - retail-prices-parser, тестовая в подпапке debug. Файл конфигурации - parser.config, его стоит использовать в качестве примера/эталона. Задача: создать новый config файл, который будет наполнен xpath путями и настройками по 30 новым сайтам. Протестировать работоспособность на нескольких примерах ссылок с сайта. Исключить ошибки. Список сайтов - https://docs.google.com/spreadsheets/d/16vU7gGpUGjyY-4k9jhaqekVYYo9W_v6MXyFlqzzvQ9I/edit?gid=557553365#gid=557553365 Вам нужно обработать 1 кластер (пронумерованы в столбце Batch#), в кластере 30 сайтов. Точный кластер обсудим с вами в чате, зафиксирую имя/ник в таблице, т.к. задачу делим по нескольким подрядчикам. Скрипт проверяет/берет (параметры, которые нужны в config файле): • открывается ли указанная страница, нет ли там ошибки - new_notFound • price и currency всех товаров (их лотов), в зависимости от того, что доступно на сайте и что есть в БД, возможные значения 1 bottle, 2, 3, 6, 12, 24 bottles. Изменения фиксирует в new_price и new_currency. • outOfStock. Если находит, что товар помечен, как отсутствующий, то ставит new_outOfStock=true. • inStock - Если у какого-либо E-shop специально помечено, что товар есть в наличии (в случаях, когда нет пометки, что товара нет в наличии) • excludesTax / includesTax - пометку, является ли взятая цена ценой с налогом или без налога • new_image - берет изображение товара Для отладки развернута страница в Google Colab для запуска отладки скрипта по ссылке - https://colab.research.google.com/drive/1puooGD3JUEf8acoHsEerH82OAZc2-Wc_#scrollTo=YU6En-e0IS1z (!) Работать нужно только с папкой debug. Результат работ - новый config файл, нужно создать его и добавить в папку debug, назвать "parser_ваше_имя_дата.config". Внимание! Сам файл parser.config трогать нельзя! Задача в том, чтобы создать такой же файл (но с другим названием) с результатом вашей работы. Дополнительная информация: Скрипт запускается ежедневно в 8.00 UTC, работает примерно сутки. Ошибки (на будущий анализ, следующий этап) Все ошибки/несоответствия, найденные на страницах, помечаются в столбце new_error в файлах в папке logs. По таким записям с ошибками ничего не передается в БД. Известные типы ошибок: • "Price is not found even..." - Ошибка выдается, если не сработали ни outOfStock, ни notFound, ни price и currency. По ней можно отслеживать некорректные ссылки. • "Не найден обработчик..." - Если в config файле не прописаны xpath для конкретного сайта, нет настроек на него, то будет выдана ошибка "Не найден обработчик для сайта [название сайта]". • "Required currency not found" - на странице не найдена валюта, указанная в БД. • "Exception: 'NoneType' object has no attribute 'group'" - ничего не получилось извлечь по регулярному выражению. Доп комментарии, примечания: • пакет, который использован для работы с xpath, для обращения к атрибутам использует img/@src • изображения иногда не вытаскиваются, если xpath указан туда, где загрузка изображения lazy. Там, где url присутствует в месте без lazy лучше брать оттуда • в parser.config файле есть мэпинг валют. Если в мэпинге нет того, что извлеклось с сайта, то в результе будет просто то, что извлеклось. Поэтому записи типа GBP -> GBP добавлять не надо. • в config файле есть поле replace. В основном используется для корректного отображения цены, когда где-то используется запятая для отделения тысяч, или есть лишний пробел, что приводит к ошибке Price is not a number.