55 lines
3.0 KiB
Markdown
55 lines
3.0 KiB
Markdown
# ANCHOR: Project_README
|
||
# Семантика: Документация, описывающая проект, его структуру и способ использования.
|
||
|
||
# Парсер цен для ElixirPeptide
|
||
|
||
Это структурированное Python-приложение для парсинга каталога товаров с сайта `elixirpeptide.ru`, сбора информации о вариантах товаров и их ценах.
|
||
|
||
## Структура Проекта
|
||
|
||
Проект организован по принципу семантического разделения ответственности для удобства поддержки и дальнейшей разработки.
|
||
|
||
- `src/`: Основная директория с исходным кодом.
|
||
- `config.py`: Все настройки (URL, селекторы, флаги сохранения).
|
||
- `main.py`: Точка входа в приложение, оркестратор процесса.
|
||
- `core/`: Пакет с ядром приложения.
|
||
- `database.py`: Логика работы с базой данных SQLite.
|
||
- `logging_config.py`: Настройка системы логирования.
|
||
- **`models.py`: [NEW FILE] Pydantic модели данных (ProductVariant, LogRecordModel).**
|
||
- `scraper/`: Пакет с логикой парсинга.
|
||
- `engine.py`: Функции для скачивания и анализа HTML-страниц.
|
||
- `utils/`: Пакет со вспомогательными утилитами.
|
||
- `exporters.py`: Функции для сохранения данных в разные форматы (CSV).
|
||
- `requirements.txt`: Список зависимостей проекта.
|
||
- `price_data_final/`: Директория для хранения результатов (создается автоматически).
|
||
|
||
## Установка и Запуск
|
||
|
||
1. **Клонируйте репозиторий:**
|
||
```bash
|
||
git clone <your-repo-url>
|
||
cd peptide_parser_project
|
||
```
|
||
|
||
2. **Создайте и активируйте виртуальное окружение:**
|
||
```bash
|
||
python -m venv venv
|
||
source venv/bin/activate # Для Windows: venv\Scripts\activate
|
||
```
|
||
|
||
3. **Установите зависимости:**
|
||
```bash
|
||
pip install -r requirements.txt
|
||
```
|
||
|
||
4. **Запустите парсер:**
|
||
Все настройки находятся в файле `src/config.py`. Вы можете изменить их перед запуском.
|
||
```bash
|
||
python src/main.py
|
||
```
|
||
|
||
## Результаты
|
||
|
||
- Если `SAVE_TO_CSV = True`, в директории `price_data_final/` будет создан CSV-файл с ценами.
|
||
- Если `SAVE_TO_DB = True`, в той же директории будет создан или обновлен файл `parser_data.db`.
|
||
- Если `LOG_TO_DB = True`, все логи сессии будут также записаны в таблицу `logs` в базе данных. |