Files
mobile.de/README.md

36 lines
2.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# mobile.de Scraper
Парсер [`mobile.de`](https://www.mobile.de/ru).
Сервис для сбора объявлений авто с mobile.de, сохранения в PostgreSQL и регулярного обновления.
## Как идет парсинг
- Парсинг запускается задачами Celery в очереди `mobilede_sync`.
- Стартуем с поисковой ссылки mobile.de (URL с фильтрами: марка, цена, год, пробег и т.д.).
- Выдача разбивается на сегменты (по цене, году, пробегу), чтобы обходить лимиты страниц.
- По каждому сегменту читаются страницы поиска, из них достаются ID и ссылки объявлений.
- По ID/ссылкам загружаются карточки авто, данные маппятся в единый формат и пишутся в БД через upsert.
## Стек
- `FastAPI` — API и служебные ручки
- `Celery + Redis` — очередь задач парсинга
- `PostgreSQL` — хранение авто и изображений
- `Docker Compose` — запуск всех сервисов
## Быстрый запуск
```bash
docker compose up -d --build
```
## Прокси
- В воркере используется прокси-мост: локальный HTTP `127.0.0.1:8899` -> внешний SOCKS5.
- Это помогает стабилизировать доступ к mobile.de и снизить блокировки.
- Параметры прокси задаются через переменные окружения (см. `.env` / `docker-compose.yml`).
## Основные сервисы
- `api` — HTTP API
- `worker` — парсинг и апдейты
- `beat` — планировщик задач
- `postgres` — база данных
- `redis` — брокер очереди