Thanks to visit codestin.com
Credit goes to github.com

Skip to content

den5hade/tt-technesis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

Телеграм-бот для парсинга цен

Телеграм-бот для сбора данных с сайтов и расчета средних цен на товары (в текущей конфигурации настроен для Samsung Galaxy S23).

Возможности

  • Загрузка Excel-файлов с данными для парсинга сайтов
  • Хранение информации о сайтах в базе данных SQLite
  • Расчет средних цен с настроенных сайтов
  • Удобный интерфейс с кастомными кнопками

Требования

  • Python 3.8+
  • Токен Telegram бота (получить у @BotFather)

Установка

  1. Клонируйте репозиторий
  2. Установите необходимые пакеты:
pip install -r requirements.txt
  1. Создайте файл .env в корне проекта и добавьте токен вашего Telegram бота:
TELEGRAM_BOT_TOKEN=ваш_токен

Использование

  1. Запустите бота:
python main.py
  1. В Telegram отправьте команду /start

  2. Загрузите Excel-файл, используя кнопку "Загрузить файл". Excel-файл должен содержать следующие столбцы:

    • title: Название сайта/магазина
    • url: URL страницы товара
    • xpath: XPath для элемента с ценой
  3. Используйте команду /average для получения средних цен со всех настроенных сайтов

Структура базы данных

Бот использует базу данных SQLite (sites.db) со следующей схемой:

CREATE TABLE sites (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    title TEXT NOT NULL,
    url TEXT NOT NULL,
    xpath TEXT NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)

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

├── main.py           # Основная логика бота
├── requirements.txt  # Зависимости Python
├── .env             # Переменные окружения
├── sites.db         # База данных SQLite
└── uploads/         # Временное хранилище для загруженных файлов

Зависимости

  • pyTelegramBotAPI
  • pandas
  • python-dotenv
  • openpyxl
  • SQLAlchemy

Обработка ошибок

Бот включает обработку следующих ошибок:

  • Некорректные загрузки файлов
  • Отсутствующие столбцы в Excel
  • Операции с базой данных
  • Операции парсинга цен

Формат Excel-файла

Excel-файл должен содержать следующие обязательные столбцы:

  • title: Название магазина или сайта
  • url: Полный URL страницы с товаром
  • xpath: Путь XPath к элементу, содержащему цену

Пример содержимого файла:

title url xpath
DNS https://www.dns-shop.ru/product/... //div[@class='price']/span
МВидео https://www.mvideo.ru/products/... //div[@class='price-block']/span

About

technesis(test task)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages