Создание самого парсера со следующими требованиями:
1. Парсинг запускаетсья ежедневно (в полночь по Киеву), проходится по всем категориям, что нас интересуют, по всем страницам пагинации и получает объявления, которые ранее не парсились.
2. Парсить объявления, по файлами сведения записывает их в XML-файл с текущей датой.
3. Парсер запускается в docker-compose, одним из контейнеров является база данных (на выбор) с возможностью доступа извне контейнера.
4. Парсер ежедневно записывает XML-файл в смонтированную директорию на завтрашний день, но не перезаписывая старые, и позволяет на следующий день забрать по HTTP актуальной файл, начиная с 00:00 по Киеву.
5. Поля cena и currency не обозначены обязательными (звездочка у тегу) на сайте, но таковы во всех категориях.
6. Пример XML-файла: https://drive.google.com/file/d/1DIbMW_8SgRQAzwMr7N4syYy87Kbni47C/view?usp=sharing
7. Поля таблицы в БД: URL, ID (с сайта, а не собственный), категория (всегда будет "detskiy-mir-X-kidstaff.xml"), дата и время создания, дата и время удаления (во время заливки null).
8. Ежедневно также необходимо парсить файл на удаление. Нужно проходиться по тем объявлениях, которые еще не обозначены в БД как удаленные и, если оно уже деактивировано или удалено на сайте, записывать текущую дату как дату удаления. Пример файла удаления (принцип сохранения и выдачи по URL) точно такой же, как и у файла с объявлениями: https://drive.google.com/file/d/1y0LgtoCQPnwnPVQX9dnaRnybN0OoQD4_/view
9. Если объявление не устраивает условии заполнения любого из тегов (не свелось город / цена / нет имени автора / нет номера телефона / прочее), то оно пропускается.
10. Вопрос о необходимости прокси на их предоставление решается лично.
11. Парсинг должен быть многопоточным (хотя бы 100-200 потоков).