Перейти к содержанию

Что такое парсинг данных и зачем он бизнесу

Аналитик данных и разработчик

Парсинг данных это автоматический сбор открытых страниц сайта и разбор прочитанного в таблицу. Программа открывает страницу так же, как её видит любой посетитель, и раскладывает содержимое по полям: адрес, название, цена, дата. Для регулярного мониторинга программу ставят на расписание, и каждый запуск дописывает к истории свежие строки. Ниже разберу, как устроен парсер, зачем бизнесу такая выгрузка и где проходит её граница. Парсеры такого рода я собираю под заказ: цены конкурентов, карточки товаров, отзывы и публичные каналы по вашему списку.

Что такое парсинг данных

В определении главное слово «открытые». Парсер не пробирается за пароль и не читает чужие кабинеты: он берёт те же страницы, которые сайт показывает каждому гостю без входа. Прочитанное раскладывается по полям таблицы, и на выходе получаются строки, с которыми можно работать.

Внутри у парсера три части. Обходчик открывает страницы и забирает их содержимое. Вычитка находит на каждой странице нужные поля: название, цену, наличие. Хранилище пишет строки с датой, и из них вырастает история. Для регулярного мониторинга эти части ставят на расписание: по таймеру обходчик проходит список заново, и каждый круг добавляет к таблице свежие строки.

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

Как работает парсер?

Конвейер умещается в пять шагов:

  1. Список задач. Решают, за какими страницами следить и с чем их сравнивать. Обычно это таблица «конкурент плюс ваш товар», по строке на каждую пару.
  2. Обходчик. Программа на Python открывает страницы и забирает содержимое. Когда страница отдаётся сразу, хватает Scrapy; когда данные рисует скрипт и они появляются только в настоящем браузере, нужен Selenium.
  3. Вычитка. Блок находит на странице нужное поле, например цену, и решает, какую именно цену считать главной.
  4. Запись. Строка уходит в базу с датой, история копится в таблице и на графике.
  5. Сравнение с прошлым кругом. Если разница больше заданного порога, уходит уведомление в Telegram или на почту.

Пять шагов одинаковы и для витрины маркетплейса, и для телеграм-канала: меняется только список страниц и поля, которые ищет вычитка. Живой пример этого конвейера на ценах конкурентов разобран в посте как устроен парсинг цен конкурентов.

Зачем бизнесу парсинг данных?

Типовая рабочая задача выглядит так: двадцать продавцов, полсотни артикулов, проверять нужно каждый день. На таком масштабе человек скользит глазами и пропускает изменения. Парсер проходит весь список целиком и каждый день дописывает строки с датами. Поэтому у вас растёт история цен: видно, кто и когда поменял цену. История отвечает на вопросы, на которые витрина не отвечает: была ли цена ниже на прошлой неделе и кто первым дал скидку. Когда изменение больше заданного порога, приходит уведомление в Telegram или на почту, и отреагировать можно сразу.

Тот же конвейер собирает и другие открытые данные:

  • наличие товаров у конкурентов;
  • отзывы по нужным артикулам;
  • публичные каналы Telegram, если ниша живёт и за пределами маркетплейсов.

Пример не-маркетплейсного применения разобран в посте парсер Telegram-каналов. Срок старта предсказуем: круг-прототип с таблицей и уведомлением я собираю от трёх дней, точная цена работы ясна после брифа.

Что собирать нельзя?

Красные линии просты и одинаковы всегда: не обходить авторизацию, не выгружать персональные данные, не обходить антибот, не создавать площадке несоразмерную нагрузку.

Правовая рамка в России такая. Прямого запрета на сбор общедоступных данных в законодательстве нет, споры касаются персональных данных, прав на базы данных и недобросовестной конкуренции. Персональные данные, то есть имена, телефоны и почты, привязанные к живому человеку, регулирует 152-ФЗ: чтобы с ними работать, нужно законное основание, технической возможности парсера недостаточно. Закон и правила площадки это разные документы. Правила пишет сама площадка, и за их нарушение она блокирует: аккаунт, IP, а бывает, и целые диапазоны адресов. Правовую оценку конкретного сбора даёт юрист. Подробный разбор лежит в посте легален ли парсинг.

Как эта граница выглядит на практике, видно по площадкам. Wildberries в robots.txt на момент проверки 23 сентября банит поимённо Wget, WebZIP, Teleport Pro и Offline Explorer, сам файл у площадки может меняться. Это наблюдение по файлу, а не разрешение: рабочую границу задают правила площадки и антибот. Ozon закрыл для роботов выдачу поиска директивой Disallow: /search, пагинацию категорий открыл явно, а на входе держит антибот, который проверяет браузер. При этом у Ozon есть официальный Seller API, но он обслуживает свой кабинет продавца по ключам: публичного API по чужим витринам у площадки нет. Подробно эти границы разобраны в посте что можно собирать с Ozon.

С Telegram похоже. Условия мессенджера разрешают доступ к контенту, пока вы пользуетесь им как обычно, массовый сбор данных ограничен, а парсинг для обучения нейросетей запрещён прямым текстом. Публичные каналы и их публичные показатели собирать можно, приватные данные и переписки нельзя.

Частые заблуждения

  1. «Парсинг это взлом». Нет. Парсер читает только то, что сайт открыто показывает каждому посетителю, за логин он не заходит и защиту не обходит.
  2. «Выгрузим один раз, разберёмся потом». Разовая выгрузка мало что даёт: ценность в истории с датами и в регулярных срезах, а вручную такую историю не собрать. Без срезов сегодняшний день не с чем сравнить.
  3. «Соберём всё подряд». Без списка вопросов выгрузка превращается в свалку. Сначала решают, что хотят узнать, потом составляют список страниц.
  4. «Написали парсер, и он работает вечно». Вёрстка сайтов меняется, и после чужого редизайна вычитку приходится поправлять. Это нормальная часть поддержки, а не брак.

Коротко

Парсинг данных превращает открытые страницы в таблицу с историей: вы видите изменение цен и товаров у конкурентов в тот день, когда оно произошло. Если задача назрела, посмотрите услуги парсинга: цены, товары и конкуренты, собранные по расписанию.

Частые вопросы

Что такое парсинг простыми словами?
Программа открывает открытые страницы сайта как обычный посетитель, вычитывает нужные поля, цены, названия, отзывы, и складывает их в таблицу. Для регулярного мониторинга её ставят на расписание, и история копится с датами.
Чем парсинг отличается от ручного копирования?
Скоростью и регулярностью. Человек на пятидесяти страницах начинает скользить глазами, парсер проходит весь список каждый день без пропусков и пишет строку с датой. Вручную историю цен не собрать.
Парсинг данных это законно?
Прямого запрета на сбор общедоступных данных в законодательстве РФ нет. Ограничения пишут сами площадки в правилах, персональные данные регулирует 152-ФЗ, обходить авторизацию и антибот нельзя. Правовую оценку конкретной задачи даёт юрист.
Чем парсинг отличается от API?
API это официальный контракт: площадка сама отдаёт данные в готовом виде по ключам. Парсер читает те же открытые страницы, что человек в браузере. Публичного API по чужим витринам у площадок часто нет, как у Ozon, где Seller API обслуживает только свой кабинет продавца.
Какие данные можно собирать парсингом?
Всё, что открыто без входа: цены и скидки, характеристики и карточки, отзывы, наличие, публичные каналы. Нельзя то, что за логином, персональные данные, а также обход антибота и несоразмерная нагрузка на площадку.

Читайте также