Что такое спарсить базу
Парсинг — это полезно и не стыдно. Особенно если данные собирает робот RPA, а отчеты показывает BI
Продавцы следят друг за другом. Интернет-магазины хотят знать, какие у конкурентов цены и условия доставки, производители смотрят, чтобы дистрибьюторы не занижали цены. Для удовлетворения их любопытства каждый день сочиняются сотни парсеров. Но есть решение получше — простое и универсальное.
Привет, я Ольга Артюшкина, руководитель направления Ecommerce в «Первом Бите». То, о чем я хочу рассказать, будет полезно ответственным за маркетинг и продажи в онлайне. Надеюсь, вы найдете здесь рабочую идею, которая поможет давать клиентам лучшие условия в интернет-магазине и на маркетплейсах.
Представьте, что вы ищете двуспальную кровать. Что-нибудь поизящнее того, что продается в «Икее», тысяч за сорок. Вроде одной из этих:
Внимательно гуглите, отбираете два интернет-магазина с самыми классными кроватями. На картинках и ценниках — именно то, что вы искали. Потом смотрите на стоимость доставки, подъема на ваш шестой этаж без лифта и сборки. В магазине № 1 калькулятор насчитал за всё 4 200 рублей:
«Хм, это 10% стоимости кровати, дороговато», — думаете вы и идете в магазин № 2. А там получилось вообще 7 000 рублей. Вы решаете, что это сплошное надувательство и заказываете кровать в магазине №1.
Это скрины с сайтов двух реальных продавцов мебели для дома, популярных в Москве и Петербурге. Если бы магазин № 2 внимательнее изучал конкурентов, он, возможно, не допустил бы такой заметной разницы в стоимости услуг, и терял меньше клиентов. Или хотя бы обосновал, почему у них подъем на этаж стоит 500 рублей, а не 300, как у других.
Еще пример — про конструктор Lego Minecraft «Пещера зомби». Мы видим, что Ozon внимательно мониторит всех продавцов на своей площадке и дает минимальную цену в любой момент. Например, у него конструктор стоит 1 139 рублей, а у ближайшего конкурента, ИП Мустафина И.Р. — 1 599 рублей.
Понимая, что при таком раскладе вряд ли что-то удастся продать, ИП Мутафина И.Р. снижает цену почти до уровня «Озона» (всего на 20 рублей дороже) и распродает все конструкторы:
Продавец с ценой 1 999 рублей ждет, когда «Пещера зомби» у всех закончится, и тогда на его улицу придет праздник, но возможно, он просто не знает, какие цены у конкурентов. Ладно бы продавал только 20 видов конструкторов на одном «Озоне» — можно было бы несколько раз в день руками проверять каждую позицию и сравнивать с конкурентами (не исключено, что ИП Мустафина И.Р. так и делает). А если у него 20 тысяч наименований игрушек, которые продаются на двадцати площадках?
Для таких случаев нужен парсинг — автоматизированный сбор информации на сайтах конкурентов и партнеров. Кроме цен на товары можно отслеживать условия доставки и стоимость подъема на этаж, отзывы и характеристики товаров, скидки, акции и наличие на складе. В общем, любую открытую информацию, которую видит любой человек.
Кто-то считает, что парсинг — постыдное занятие, вроде воровства. Но вообще-то любой поисковик тоже занимается парсингом контента, иначе как он покажет страницы, релевантные вашему запросу. И соцсети этим занимаются, и Олег из «Тинькоф-банка».
Другое дело, как распоряжаться полученной информацией. Если магазин копирует отзывы на товары у конкурентов и размещает у себя, это стыдно. Если магазин обновляет цены и скидки, ориентируясь на конкурентов — это этично и правильно.
Шесть лет назад в один из наших офисов пришел производитель детских товаров и сказал, что у него проблемы с российскими дистрибьюторами: многие из них постоянно нарушают договоренности, ставя цену ниже рекомендованной. Это вызывает разные нехорошие подозрения у честных дистрибьюторов и подталкивают их к демпингу: «Почему им можно, а нам нельзя?»
Чтобы все играли по правилам, компания наняла аналитика, который проверял цены. И конечно это не помогло. Аналитик работал 8 часов в день и мог проверить каждый из 50 тысяч товаров в лучшем случае раз в неделю. Доходило до того, что дистрибьюторы на Дальнем Востоке пользовались разницей во времени: пока Москва спала, они демпинговали, когда просыпалась — возвращали минимальную цену. Так и жили в напряженной атмосфере.
Тогда мы написали для клиента программу-парсер на Python, который мониторил сайты дистрибьюторов каждый час и показывал отчет производителю. Это сработало, дистрибьюторы быстро поняли, что они под неусыпным контролем и прекратили хулиганить.
Потом были похожие проекты, но каждый раз приходилось делать всё как впервые. Мы тратили десятки часов, чтобы понять, какой именно парсер создавать. Искать ли готовое решение или самим написать, будет это скрипт или код, на каком языке, что прикручивать, чтобы обходить ловушки и капчи.
Однажды для производителя шин мы даже использовали парсер, написанный в Excel. Это был оптимальный вариант с точки зрения стоимости и эффективности. Он настраивался в интерфейсе галочками и кнопками, был понятнее многих других парсеров и незаметнее на сайтах конкурентов. Но и такой парсер нельзя было назвать идеальным: приходилось постоянно поддерживать его работоспособность, а маркетплейсы время от времени его все равно блокировали на несколько часов.
Когда мы начали внедрять программных роботов (RPA), мы поняли: вот же он, идеал!
RPA (Robotic Process Automation) — это роботизация рутинных процессов. Первыми RPA начали использовать крупные федеральные компании с большим количеством клиентов: телеком, банки и страховщики. Здесь роботы обрабатывают транзакции и обращения, отправляют письма и СМС, проверяют корректность данных, занимаются внутренними процессами в бухгалтерии, HR и других отделах.
Одна же из главных задач любого парсера — стать максимально похожим на человека, чтобы в нем не распознали бота и не забанили (а банят многие, особенно маркетплейсы, ведь никто не любит делиться данными с чужими парсерами). Ради этого снижают частоту запросов до одного в 3 секунды, «как у человека», и придумывают другие уловки. Однако ни одному парсеру никогда не сыграть человека на все сто.
Разработчики парсеров и разработчики сайтов, которые их интересуют, играют в кошки-мышки. Они как вирус и антивирус: у них вечное противостояние.
Парсерам приходится пользоваться прокси от разных провайдеров, менять куски кода при любом изменении на сайте, выкручиваться после попадания в ловушки. Им, например, подсовывают ссылки с пустыми страницами, которые люди не видят, а парсеры «видят».
Все эти проблемы не знакомы роботам RPA. По сравнению с парсерами у них всё просто и предсказуемо. Они не копаются в коде страниц, собирая нужные участки — они вообще могут заходить на любой сайт через поисковик, забив, например, «Лего майнкрафт пещера зомби спб купить». Даже самый продвинутый маркетплейс не подумает, что это робот.
Еще робот RPA быстро настраивается под конкретные площадки, даже если это «Яндекс.Маркет» или Ozon с миллионами позиций. Мы, например, настроили робота под десять топовых маркетплейсов, и в каждом случае это заняло от 8 до 16 часов. В разы быстрее парсеров.
Если парсер настроен на то, чтобы искать только цены — допустим, на смартфоны Xiaomi, — а клиенту вдруг понадобилось узнать их характеристики, то парсер придется готовить к новой задаче десятки часов. Робот RPA будет готов через 1-2 часа.
сайты конкурентов принимают его за человека и не блокируют;
настраивается за считанные часы под любую «парсинговую» задачу;
Собрать данные — половина дела. Чтобы этими данными было удобно пользоваться, их надо правильно показать.
Обычно парсеры и программные роботы делают отчеты в табличном виде. Допустим, производителя смартфонов интересует, как российские магазины в течение двух недель соблюдают договоренность продавать Xiaomi Mi 9 6/128GB не дешевле 19 000 рублей. Парсер (как и робот RPA) выдаст примерно такой отчет:
Данные можно импортировать в учетную систему для лучшей наглядности. Но еще лучше — в BI-систему, ведь они созданы для визуализации данных и удобной работы с ними. Двухнедельный отчет уместится на один экран:
В большинстве случаев для парсинга используют базовые возможности как RPA, так и BI. Соответственно, порог входа значительно ниже, чем при использовании этих инструментов по полной. Особенно это касается BI — прошли времена, когда она была роскошью для крупных компаний.
Подписка на популярную BI-систему Qlik Sense начинается от 30 тысяч рублей в год. Power BI от Microsoft вообще можно пользоваться бесплатно с некоторыми ограничениями.
У вендоров RPA тоже есть бесплатные версии, но реалистичнее ориентироваться минимум на 200 тысяч рублей в год за робота российской разработки.
Итого: 200–300 тысяч рублей в год — порог входа. Если понадобится помощь при настройке — плюс 3–4 тысячи рублей за час.
Автор — Ольга Артюшкина, руководитель направления Ecommerce в компании «Первый Бит». При участии Сергея Белостоцкого, руководителя BI, RPA в компании «Первый Бит».
Парсинг данных с сайтов: что это и зачем он нужен
Парсинг обычно применяют, когда нужно быстро собрать большой объем данных. Его выполняют с помощью специальных сервисов — парсеров. В этой статье мы разберем, с какой целью можно использовать парсинг, что он позволяет узнать о конкурентах и законен ли он. Также мы рассмотрим, как пошагово спарсить данные с помощью одного из инструментов.
Время чтения 17 минут
Вы можете перейти сразу к интересующему разделу:
Что такое парсинг
Парсинг — это процесс автоматического сбора данных и их структурирования.
Специальные программы или сервисы-парсеры «обходят» сайт и собирают данные, которые соответствуют заданному условию.
Простой пример: допустим, нужно собрать контакты потенциальных партнеров из определенной ниши. Вы можете это сделать вручную. Надо будет заходить на каждый сайт, искать раздел «Контакты», копировать в отдельную таблицу телефон и т. д. Так на каждую площадку у вас уйдет по пять-семь минут. Но этот процесс можно автоматизировать. Задаете в программе для парсинга условия выборки и через какое-то время получаете готовую таблицу со списком сайтов и телефонов.
Плюсы парсинга очевидны — если сравнивать его с ручным сбором и сортировкой данных:
В сети достаточно много программ для парсинга. Они могут находиться в «облаке» или «коробке»:
В обоих случаях вы платите за доступ к парсеру в течение какого-то времени. Например, месяца, года или нескольких лет.
Ringostat для руководителя и собственника бизнеса
Способы применения парсинга
Область применения парсинга можно свести к двум целям:
Пример того, что может предложить один из парсеров для поиска, устранения ошибок и прокачки SEO
Мы регулярно используем парсер для блога Ringostat. Например, когда нужно найти изображения, к которым по какой-то причине не прописан атрибут Alt. Поисковики считают это ошибкой и могут понизить в выдаче тот сайт, на котором много таких иллюстраций. Даже страшно представить, сколько времени потребовалось бы на ручной поиск таких картинок. А благодаря парсеру мы получаем список со ссылками за несколько минут.
Теперь давайте рассмотрим для каких целей еще можно использовать парсинг.
Кстати, недобросовестные люди могут использовать парсеры для DDOS-атак. Если одновременно начать парсить сотни страниц сайта, то площадку можно «положить» на какое-то время. Это, разумеется, незаконно — об этом подробнее ниже От подобных атак можно защититься, если на сервере установлена защита.
Что могут узнать конкуренты с помощью парсинга
В принципе, любую информацию, которая размещена на вашем сайте. Чаще всего ищут:
Проводить такую «разведку» могут не только конкуренты. Например, журналист может провести исследование, правда ли интернет-магазины предоставляют настоящие скидки на Черную пятницу. Или искусственно завышают цены незадолго до нее и реальную цену выдают за скидку. С этой целью он может заранее спарсить цены десятка интернет-магазинов и сравнить с ценами на Черную пятницу.
Или другой пример — Игорь Горбенко в статье для Vc.ru с помощью парсинга проанализировал, насколько продавцы цветов поднимают цены к Дню святого Валентина:
Кстати, эта статья вызвала большой резонанс. Поэтому, если вы блогер или новостное издание, парсинг однозначно стоит взять на вооружение.
Законно ли парсить сайты
Если кратко, то законно — если вы парсите информацию, которая есть в открытом доступе. Это логично, ведь так любой человек и без парсера может собрать интересующие данные. Что преследуется законом:
Рассмотрим это подробнее с точки зрения законодательства Украины и России.
Украинское законодательство
В большей степени любой спор касательно незаконного парсинга и/или распространения информации касается именно конфиденциальных данных.
Российское законодательство
Этапы парсинга
Если не погружаться в технические подробности, то парсинг строится из таких этапов:
Пример отчета Netpeak Spider, где критичные ошибки выделяются красным цветом
Как парсить данные
Допустим, наша компания продает оборудование для салонов красоты. И сотруднику нужно собрать базу контактов таких компаний, чтобы позвонить и предложить им наш товар. Обычно на старте готового списка площадок у менеджера нет. Поэтому для поиска можно использовать встроенный в программу инструмент «Парсер поисковых систем».
Вводим в нем нужные запросы — «салон красоты», «парикмахерская», «бьюти-процедуры».
На вкладке «Настройки» выбираем поисковую систему и количество результатов — например, топ-10 или все результаты выдачи. В дополнительных настройках указываем язык выдачи и параметры геолокации, чтобы в результаты попадали салоны красоты только из нужного нам региона. Сохраняем настройки и нажимаем «Старт», чтобы начать парсинг.
Чтобы провести парсинг номеров телефонов с главных страниц найденных сайтов, нажимаем на кнопку «Перенести хосты». После этого ссылки отобразятся в основной таблице программы.
Теперь, когда у нас есть полный список салонов, на боковой панели в разделе параметров «On-Page» отмечаем пункт «Телефонные номера» и нажимаем «Старт». Все найденные телефоны с сайтов и их число будут внесены в соответствующих колонках основной таблицы результатов.
Если бы у нас заранее был собран перечень необходимых адресов, мы могли бы их просто загрузить в программу и точно так же собрать телефоны.
Сохраняем данные в формате CSV, нажав кнопку «Экспорт».
Вот и все — мы получили список салонов и их телефонов.
Кстати, сэкономить время можно не только за счет парсинга. Вы в любом случае тратите где-то минуту, чтобы набрать номер на телефоне. Если в вашем списке хотя бы 50 компаний, на это в сумме уйдет почти час. Но есть способ тратить на набор номера одну секунду. Это Ringostat Smart Phone — умный телефон, встроенный прямо в браузер Chrome. Он позволяет звонить, просто нажав на номер, расположенный на любом сайте, в карточке CRM или просто в таблице. Как в нашем примере.
Подключите Ringostat, установите расширение и сможете обзвонить базу за минимальное время. При желании ее можно сразу перенести в CRM и звонить уже оттуда с помощью Ringostat Smart Phone. Тут видно, что звонок происходит мгновенно:
Преимущества Ringostat Smart Phone и Ringostat Insider
Как защитить свой сайт от парсинга
Как мы упоминали выше, парсинг не всегда используют в нормальных целях. Если вы боитесь атаки со стороны конкурентов, площадку можно защитить. Существует несколько способов, как это сделать.
В любом случае, помните, что всегда есть риск заблокировать реального пользователя, а не программу. Поэтому тут вам решать, что важнее — безопасность сайта или риск потери потенциального клиента.
Что такое парсер и как он работает
Чтобы поддерживать информацию на своем ресурсе в актуальном состоянии, наполнять каталог товарами и структурировать контент, необходимо тратить кучу времени и сил. Но есть утилиты, которые позволяют заметно сократить затраты и автоматизировать все процедуры, связанные с поиском материалов и экспортом их в нужном формате. Эта процедура называется парсингом.
Давайте разберемся, что такое парсер и как он работает.
Что такое парсинг?
Начнем с определения. Парсинг – это метод индексирования информации с последующей конвертацией ее в иной формат или даже иной тип данных.
Парсинг позволяет взять файл в одном формате и преобразовать его данные в более удобоваримую форму, которую можно использовать в своих целях. К примеру, у вас может оказаться под рукой HTML-файл. С помощью парсинга информацию в нем можно трансформировать в «голый» текст и сделать понятной для человека. Или конвертировать в JSON и сделать понятной для приложения или скрипта.
Но в нашем случае парсингу подойдет более узкое и точное определение. Назовем этот процесс методом обработки данных на веб-страницах. Он подразумевает анализ текста, вычленение оттуда необходимых материалов и их преобразование в подходящий вид (тот, что можно использовать в соответствии с поставленными целями). Благодаря парсингу можно находить на страницах небольшие клочки полезной информации и в автоматическом режиме их оттуда извлекать, чтобы потом переиспользовать.
Ну а что такое парсер? Из названия понятно, что речь идет об инструменте, выполняющем парсинг. Кажется, этого определения достаточно.
Какие задачи помогает решить парсер?
При желании парсер можно сподобить к поиску и извлечению любой информации с сайта, но есть ряд направлений, в которых такого рода инструменты используются чаще всего:
Серый парсинг
Такой метод сбора информации не всегда допустим. Нет, «черных» и полностью запрещенных техник не существует, но для некоторых целей использование парсеров считается нечестным и неэтичным. Это касается копирования целых страниц и даже сайтов (когда вы парсите данные конкурентов и извлекаете сразу всю информацию с ресурса), а также агрессивного сбора контактов с площадок для размещения отзывов и картографических сервисов.
Но дело не в парсинге как таковом, а в том, как вебмастера распоряжаются добытым контентом. Если вы буквально «украдете» чужой сайт и автоматически сделаете его копию, то у хозяев оригинального ресурса могут возникнуть вопросы, ведь авторское право никто не отменял. За это можно понести реальное наказание.
Добытые с помощью парсинга номера и адреса используют для спам-рассылок и звонков, что попадает под закон о персональных данных.
Где найти парсер?
Добыть утилиту для поиска и преобразования информации с сайтов можно четырьмя путями.
При отсутствии разработчиков в штате я бы советовал именно десктопную программу. Это идеальный баланс между эффективностью и затратами. Но если задачи стоят не слишком сложные, то может хватить и облачного сервиса.
Плюсы парсинга
У автоматического сбора информации куча преимуществ (по сравнению с ручным методом):
Так что нет никакого смысла «парсить» руками, когда можно доверить эту операцию подходящему ПО.
Минусы парсинга
Главный недостаток парсеров заключается в том, что ими не всегда удается воспользоваться. В частности, когда владельцы чужих сайтов запрещают автоматический сбор информации со страниц. Есть сразу несколько методов блокировки доступа со стороны парсеров: и по IP-адресам, и с помощью настроек для поисковых ботов. Все они достаточно эффективно защищают от парсинга.
В минусы метода можно отнести и то, что конкуренты тоже могут использовать его. Чтобы защитить сайт от парсинга, придется прибегнуть к одной из техник:
Но все методы защиты легко обходятся, поэтому, скорее всего, придется с этим явлением мириться.
Алгоритм работы парсера
Парсер работает следующим образом: он анализирует страницу на наличие контента, соответствующего заранее заданным параметрам, а потом извлекает его, превратив в систематизированные данные.
Процесс работы с утилитой для поиска и извлечения найденной информации выглядит так:
Естественно, процедура парсинга через специализированное ПО описана лишь в общих чертах. Для каждой утилиты она будет выглядеть по-разному. Также на процесс работы с парсером влияют цели, преследуемые пользователем.
Как пользоваться парсером?
На начальных этапах парсинг пригодится для анализа конкурентов и подбора информации, необходимой для собственного проекта. В дальнейшей перспективе парсеры используются для актуализации материалов и аудита страниц.
При работе с парсером весь процесс строится вокруг вводимых параметров для поиска и извлечения контента. В зависимости от того, с какой целью планируется парсинг, будут возникать тонкости в определении вводных. Придется подгонять настройки поиска под конкретную задачу.
Иногда я буду упоминать названия облачных или десктопных парсеров, но использовать именно их необязательно. Краткие инструкции в этом параграфе подойдут практически под любой программный парсер.
Парсинг интернет-магазина
Это наиболее частый сценарий использования утилит для автоматического сбора данных. В этом направлении обычно решаются сразу две задачи:
В первом случае стоит воспользоваться утилитой Marketparser. Указать в ней код продукта и позволить самой собрать необходимую информацию с предложенных сайтов. Большая часть процесса будет протекать на автомате без вмешательства пользователя. Чтобы увеличить эффективность анализа информации, лучше сократить область поиска цен только страницами товаров (можно сузить поиск до определенной группы товаров).
Во втором случае нужно разыскать код товара и указать его в программе-парсере. Упростить задачу помогают специальные приложения. Например, Catalogloader – парсер, специально созданный для автоматического сбора данных о товарах в интернет-магазинах.
Парсинг других частей сайта
Принцип поиска других данных практически не отличается от парсинга цен или адресов. Для начала нужно открыть утилиту для сбора информации, ввести туда код нужных элементов и запустить парсинг.
Разница заключается в первичной настройке. При вводе параметров для поиска надо указать программе, что рендеринг осуществляется с использованием JavaScript. Это необходимо, к примеру, для анализа статей или комментариев, которые появляются на экране только при прокрутке страницы. Парсер попытается сымитировать эту деятельность при включении настройки.
Также парсинг используют для сбора данных о структуре сайта. Благодаря элементам breadcrumbs, можно выяснить, как устроены ресурсы конкурентов. Это помогает новичкам при организации информации на собственном проекте.
Обзор лучших парсеров
Далее рассмотрим наиболее популярные и востребованные приложения для сканирования сайтов и извлечения из них необходимых данных.
В виде облачных сервисов
Под облачными парсерами подразумеваются веб-сайты и приложения, в которых пользователь вводит инструкции для поиска определенной информации. Оттуда эти инструкции попадают на сервер к компаниям, предлагающим услуги парсинга. Затем на том же ресурсе отображается найденная информация.
Преимущество этого облака заключается в отсутствии необходимости устанавливать дополнительное программное обеспечение на компьютер. А еще у них зачастую есть API, позволяющее настроить поведение парсера под свои нужды. Но настроек все равно заметно меньше, чем при работе с полноценным приложением-парсером для ПК.
Наиболее популярные облачные парсеры
Похожих сервисов в сети много. Причем как платных, так и бесплатных. Но вышеперечисленные используются чаще остальных.
В виде компьютерных приложений
Есть и десктопные версии. Большая их часть работает только на Windows. То есть для запуска на macOS или Linux придется воспользоваться средствами виртуализации. Либо загрузить виртуальную машину с Windows (актуально в случае с операционной системой Apple), либо установить утилиту в духе Wine (актуально в случае с любым дистрибутивом Linux). Правда, из-за этого для сбора данных потребуется более мощный компьютер.
Наиболее популярные десктопные парсеры
Это наиболее востребованные утилиты для парсинга. У каждого из них есть демо-версия для проверки возможностей до приобретения. Бесплатные решения заметно хуже по качеству и часто уступают даже облачным сервисам.
В виде браузерных расширений
Это самый удобный вариант, но при этом наименее функциональный. Расширения хороши тем, что позволяют начать парсинг прямо из браузера, находясь на странице, откуда надо вытащить данные. Не приходится вводить часть параметров вручную.
Но дополнения к браузерам не имеют таких возможностей, как десктопные приложения. Ввиду отсутствия тех же ресурсов, что могут использовать программы для ПК, расширения не могут собирать такие огромные объемы данных.
Но для быстрого анализа данных и экспорта небольшого количества информации в XML такие дополнения подойдут.
Наиболее популярные расширения-парсеры
Вместо заключения
На этом и закончим статью про парсинг и способы его реализации. Этого должно быть достаточно, чтобы начать работу с парсерами и собрать информацию, необходимую для развития вашего проекта.