Разработка парсеров
Цены конкурентов, лоты, каталоги поставщиков — в вашу таблицу или базу, по расписанию. Ниже — какая структура получается на выходе.
Структура данных на выходе
source
строка
имя площадки или конкурента
external_id
строка
идентификатор на источнике, ключ от дублей
title
строка
наименование как на странице
price / currency
число / строка
4200000 / UZS — без пробелов и знаков
attrs
объект
цвет, размер, материал — разобраны по полям
status
строка
in_stock, out_of_stock, unknown
fetched_at
дата
когда снято — без этого данные бесполезны
raw_html
текст
сырой ответ — чтобы переразобрать без повторного сбора
История цен хранится отдельной таблицей, а не перезаписывается — иначе невозможно ответить на вопрос «когда он поднял цену».
Как устроен надёжный парсер
01Очередь с повторами и задержкой: площадка отвечает ошибкой в часы пик — это норма
02Сохранение сырых ответов — разметку меняют, и переразбор не должен требовать нового обхода
03Проверки на абсурд: цена в сто раз ниже или пустой каталог — повод остановиться, а не залить базу мусором
04Уведомление в Telegram, когда структура источника изменилась
05Выгрузка туда, где вы работаете: таблица, база, дашборд или API
Что входит, кроме самого сбора
Парсер однажды сломается — это вопрос времени, а не качества. Всё остальное решается заранее.
Источники и расписание в ваших рукахДобавить конкурента, отключить площадку, поменять частоту обхода можно самому. Иначе каждый новый прайс превращается в переписку с подрядчиком, и половина нужного сбора так и не заводится.
Ходим аккуратно и без чужих паролейНагрузку держим такой, чтобы не мешать чужой площадке, и не лезем за форму входа. Жадный сбор кончается блокировкой, после которой данные не идут вообще, а разговор переходит в неприятную плоскость.
Собранное принадлежит вамВыгрузка в CSV, таблицу или по API, сырые ответы сохранены — разметку поменяли, и переразобрать можно из архива, без нового обхода. Историю цен вы уносите целиком, а не смотрите в чужом кабинете.
Под ключСервер, расписание, очередь с повторами и уведомление в Telegram, когда структура источника изменилась. Молчащий парсер с пустой таблицей хуже, чем никакого.
Смотрим, нужен ли парсер вообщеИногда поставщик отдаёт прайс файлом или готовой выгрузкой — тогда сбор со страниц это и лишние деньги, и лишняя точка отказа. Проверяем такую возможность до сметы, а не после запуска.
Чего не делаем
✕Не обходим защиту и капчу в лоб. Если источник явно закрыт от сбора — скажем это до договора, а не будем брать деньги за гонку вооружений.
✕Не собираем персональные данные людей. Телефоны и адреса из открытых анкет — не наша работа.
✕Не обещаем вечной работы без правок. Источники меняют разметку несколько раз в год. Поддержка — отдельная строка, и мы говорим про неё заранее.
срок и цена
От 400 $, от 1 недели на один источник. Каждый следующий дешевле: очередь и хранилище уже есть.
весь прайс →
Кейсы по теме
- Таможенный калькулятор и ИИ-декларант — внутренние утилиты под NDA типов ставок в расчёте: 11
- Система учёта маркировки Asl Belgisi — агрегация данных и аналитика под NDA уровней вложенности упаковки: 5
- Семейные деньги в Telegram — и как мы поймали ИИ на выдумывании ночных проверок на выдуманные данные: 20
Смотрите также
заявка
Оставьте номер, и мы перезвоним
Одно поле. Расскажете задачу — как удобно: звонком, в Telegram или голосовым. Сразу назовём срок и вилку цены, а на следующий день пришлём три концепции. Бесплатно.
Номер нужен только чтобы ответить на заявку. Рассылок нет.