UrlPriceParser

0
README.md

🏷️ UrlPriceParser (Парсер цен)

Простой Python-скрипт для отслеживания цены на конкретный товар на сайте интернет-магазина.

Он загружает HTML-страницу товара, находит в ней тег с ценой, очищает ее от символов валюты/пробелов и сравнивает с "целевой ценой" (

TARGET_PRICE
), установленной в коде.


⚠️ Важное замечание: Привязка к сайту

Обратите внимание: Текущая версия скрипта настроена специально для сайта "Читай-город" (

chitai-gorod.ru
).

HTML-селектор (

soup.find(...)
) в коде заточен именно под их верстку. Если вы захотите использовать этот скрипт для другого сайта (Ozon, DNS и т.д.), вам гарантированно придется:

  1. Изменить
    URL
    на ваш товар.
  2. Найти новый HTML-тег/класс для цены на том сайте и изменить селектор в коде (см. раздел "Хрупкость парсера").

🚀 Как использовать

1. Клонирование репозитория

2. Установка зависимостей

Этому скрипту требуются три библиотеки. Установите их с помощью

pip
:

3. Настройка скрипта

Откройте

main.py
(или как вы назвали свой файл) в любом текстовом редакторе. Вам нужно изменить две переменные вверху файла:

  1. URL
    : Вставьте сюда полную ссылку на страницу товара ("Читай-город" или другого сайта, если вы готовы менять код).
  2. TARGET_PRICE
    : Укажите цену (просто числом), при достижении которой скрипт должен вас обрадовать.

4. Запуск

Откройте терминал (консоль) в папке проекта и запустите скрипт:

Вы увидите один из двух результатов:

✅ Текущая цена: 857 ₽ Пока дорого. Твоя цель: 800 ₽

Или:

✅ Текущая цена: 790 ₽ 🎉 ЦЕНА СНИЗИЛАСЬ! 🎉 Цель: 800 ₽. Пора брать!

🚨 ВАЖНОЕ ПРЕДУПРЕЖДЕНИЕ: "Хрупкость" парсера

Этот скрипт — веб-парсер. Его работа полностью зависит от HTML-структуры сайта, который он парсит.

В коде "зашит" (жестко прописан) конкретный CSS-селектор для поиска цены "Читай-города":

Если "Читай-город" изменит дизайн своей страницы (например, переименует класс

product-offer-price__actual
во что-то другое), скрипт немедленно сломается и выдаст ошибку "Не смог найти тег с ценой".

Это нормальное и ожидаемое поведение для любого парсера.

Как это починить?

Если скрипт сломался:

  1. Откройте
    URL
    в вашем браузере.
  2. Наведите мышку на цену, нажмите правую кнопку и выберите "Посмотреть код" (или "Инспектировать элемент").
  3. Найдите, в каком теге (
    span
    ,
    div
    ...) и с каким
    class
    теперь находится цена.
  4. Обновите этот селектор в коде в строке
    soup.find(...)
    .

🛠️ Использованные технологии

  • Python 3
  • requests: Для выполнения HTTP-запросов и скачивания HTML.
  • BeautifulSoup4 (bs4): Для парсинга (разбора) HTML-кода.
  • lxml: "Движок" для BeautifulSoup, который быстро разбирает HTML.