This commit is contained in:
2025-07-03 19:56:10 +03:00
commit 54827a5152
11 changed files with 575 additions and 0 deletions

54
README.md Normal file
View File

@@ -0,0 +1,54 @@
# ANCHOR: Project_README
# Семантика: Документация, описывающая проект, его структуру и способ использования.
# Парсер цен для ElixirPeptide
Это структурированное Python-приложение для парсинга каталога товаров с сайта `elixirpeptide.ru`, сбора информации о вариантах товаров и их ценах.
## Структура Проекта
Проект организован по принципу семантического разделения ответственности для удобства поддержки и дальнейшей разработки.
- `src/`: Основная директория с исходным кодом.
- `config.py`: Все настройки (URL, селекторы, флаги сохранения).
- `main.py`: Точка входа в приложение, оркестратор процесса.
- `core/`: Пакет с ядром приложения.
- `database.py`: Логика работы с базой данных SQLite.
- `logging_config.py`: Настройка системы логирования.
- `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` в базе данных.