
Полная версия:
Мониторинг цен конкурентов: один Python-файл и самопроверка

Шадрин Данил
Мониторинг цен конкурентов: один Python-файл и самопроверка
Мониторинг цен конкурентов: один Python-файл и самопроверка без интернета
История в цифрах, которую можно продавать по подписке
От автора
Мне девятнадцать, я учусь на последнем курсе и беру заказы на автоматизацию: парсинг,
боты, отчёты. Эта книга про конкретную услугу, которую я продаю помесячной подпиской, — «слежу
за ценами конкурентов и присылаю отчёт». Инструмент лежит у меня на машине, работает на
обычном Python без фреймворков и стоит столько, сколько стоит внимание: от 2 900 ₽ в месяц
за один источник.
Сразу о честном. Код, схема базы, селекторы, тесты и тексты объявлений — мои, я разбираю в
них каждую строку. Текст как таковой был написан при помощи ИИ-агента, с которым я работаю
каждый день: он делает черновик, я читаю, правлю и отвечаю за то, чтобы в книге не было
несуществующих заказов. Клиентских кейсов я тут выдумывать не буду, их нет и в помине: в
книге есть реальный вывод самопроверки, реальные числа из неё и реальный конфиг. Названия
товаров в демо — игрушечные, они так и подписаны.
Глава 1. Что именно покупает клиент
Клиент покупает не скриншот чужого сайта. Он покупает ответ на вопрос «что изменилось за
неделю» — и получает его в виде файла, который открывается в Excel. Значит у инструмента
ровно четыре обязанности:
Сходить на открытую страницу витрины и собрать карточки.
Запомнить результат, чтобы было с чем сравнивать в следующий раз.
Найти изменения и разделить их на четыре события: подешевел, подорожал, новая позиция,
товар пропал.
Отдать это человеку: CSV для таблицы, HTML для чтения, одна строка в Telegram для
скорости.
Всё остальное — опции. Если на пятой неделе выясняется, что клиенту не нужны «пропавшие
товары», событие просто перестаёт попадать в отчёт; архитектура от этого не дрогнет.
Глава 2. Граница, которую я провожу до подписания
Я сознательно записал в README и в объявление то, чего инструмент не делает. Это не
скромность, а защита: большинство конфликтов с заказчиком рождается из невысказанного
ожидания.
Не обходит капчу, авторизацию и защиту сайтов. Никаких «взломов» чужих витрин.
Не собирает персональные данные. Только название, цена, наличие, ссылка.
Не залезает в закрытый кабинет. Если клиенту нужен мониторинг собственных цен, работаем
строго с его доступом и его данными.
Если сайт поменял вёрстку, селекторы правятся в конфиге. Это часть услуги по подписке, а
не баг, о котором я забыл предупредить.
Пункт про вёрстку, кстати, и есть причина, по которую мониторинг продаётся подпиской, а не
разовой сдачей: разметка живая, и моя работа — поддерживать её живой.
Глава 3. Конфиг вместо кода
Первое, что я делаю в новом заказе, — не пишу скрипт, а заполняю JSON. Источники описаны
данными, а не ветвлением в коде:
{
"db": "history.db",
"delay_seconds": 2.0,
"telegram": { "send": false, "token": "", "chat_id": "" },
"sources": [
{
"name": "Конкурент 1 — каталог",
"url": "https://example.com/catalog",
"item_selector": ".product-card",
"title_selector": ".product-title",
"price_selector": ".product-price",
"link_selector": "a.product-link"
},
{
"name": "Конкурент 2 — раздел с акциями",
"url": "https://example.com/sale",
"item_selector": "div.item",
"title_selector": null,
"price_selector": null,
"price_regex": "(\\d[\\d\\s]{2,})\\s*(?:₽|руб)",
"link_selector": "a"
}
]
}
Второй источник важен не как пример, а как признание: не у каждого магазина цена лежит в
понятном классе. Иногда её вообще негде взять, кроме как из текста карточки — тогда
Конец ознакомительного фрагмента.
Текст предоставлен ООО «Литрес».
Прочитайте эту книгу целиком, купив полную легальную версию на Литрес.
Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.
Вы ознакомились с фрагментом книги.
Для бесплатного чтения открыта только часть текста.
Приобретайте полный текст книги у нашего партнера:
Полная версия книги
Всего 10 форматов

