Skip to content

Marketplace parser for personal usage (Yandex Market) It will look at price of product and write it to database every 10 minutes

Notifications You must be signed in to change notification settings

PulserCoder/Marketplace_Parsing_Service

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Marketplace Parsing Service (1.0.0)

Marketplace Parsing Service – это Java-приложение для автоматического мониторинга цен товаров на маркетплейсах (Yandex Market). Оно использует Selenium для работы с динамическими веб-страницами и Spring Boot для упрощения работы с базой данных и написания бизнес-логики.


🔧 Функциональность

  1. Периодический сбор данных:
    • Каждые 10 минут приложение открывает ссылки из базы данных.
    • С помощью Selenium прогружает страницы и извлекает информацию о ценах и названиях товаров.
  2. Сохранение данных:
    • Текущая цена товара сохраняется как новая запись (Measurement) в базе данных.
    • Информация о продукте обновляется, если есть изменения.
  3. Поддержка пользователей:
    • Каждая отслеживаемая ссылка привязана к пользователю.

📂 Структура проекта

Модели данных:

  • TrackedUrl:
    • Ссылка для отслеживания.
    • Привязана к пользователю (User).
    • Имеет список измерений (Measurement) и текущую информацию о продукте (Product).
  • Product:
    • Название товара.
    • Актуальная цена.
    • Привязана к TrackedUrl.
  • Measurement:
    • История цен.
    • Содержит дату и цену на момент измерения.

Основные компоненты:

  • SeleniumService:
    • Управляет периодическим запуском Selenium для сбора данных.
    • Преобразует данные из HTML в объекты моделей.
  • TrackedUrlRepository:
    • Используется для работы с отслеживаемыми ссылками.
  • ProductRepository и MeasurementRepository:
    • Хранят информацию о продуктах и ценах.

🚀 Установка и запуск

1. Предварительные требования

  • Java 17 или новее.
  • Maven для управления зависимостями.
  • Установленный Google Chrome.
  • Скачать и настроить ChromeDriver для Selenium.

2. Клонирование проекта

git clone https://github.com/PulserCoder/Marketplace_Parsing_Service.git
cd market-parsing-service
mvn install

Настройка application.properties

Перед запуском приложения необходимо заполнить файл application.properties, указав конфигурацию для подключения к базе данных.

Откройте файл src/main/resources/application.properties и укажите следующие параметры:

# Название приложения
spring.application.name=market.parsing

# Порт для запуска приложения
server.port=8080

# Конфигурация базы данных
spring.datasource.username=<ваш-логин>
spring.datasource.password=<ваш-пароль>
spring.datasource.url=jdbc:postgresql://<адрес-базы-данных>:<порт>/<имя-базы>
spring.datasource.driver-class-name=org.postgresql.Driver

Как использовать приложение

Для использования приложения выполните следующие шаги:

  1. Запустите программу
    Убедитесь, что все настройки указаны правильно, затем запустите приложение.
    После успешного запуска перейдите на страницу Swagger UI по адресу:
    http://localhost:8080/swagger-ui/index.html#/

  2. Создайте пользователя
    Перейдите к эндпоинту /user/create/ в Swagger UI.

  3. Добавьте ссылку для отслеживания Найдите эндпоинт /url/add/{user_id} в Swagger UI.

  4. Просмотрите результаты через PGAdmin Подключитесь к вашей базе данных через PGAdmin или другой клиент PostgreSQL. Перейдите к таблице measurements, чтобы посмотреть данные, которые были напарсены. В таблице будут указаны price, timestamp и tracked_url_id, соответствующие каждому измерению.

Только для личного пользования Работа сервиса описана для версии 1.0.0

About

Marketplace parser for personal usage (Yandex Market) It will look at price of product and write it to database every 10 minutes

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages