Что значит распарсить данные
Парсить — что это значит, парсинг и парсер — что это такое простыми словами
Говоря о сборе семантического ядра для сайта, мы используем термины «парсинг», «парсить». Что это значит? Попробую объяснить простыми словами, что это такое.
Что такое парсинг (не путать с пирсингом)
Сначала небольшое отступление. Вспомнился интересный случай. Однажды, на уроке химии, я рассказывал про гомологический ряд метана (метан, этан, пропан, бутан, пентан, гексан и т. д.). Для лучшего понимания и запоминания предложил вспомнить слова с аналогичным корнем. Спросил, что такое пентагон. Один из ответов был – Это такое лекарство.
Парсинг – это один из способов автоматического сбора и обработки информации из Всемирной сети.
При парсинге проводится лексический анализ собранной информации путем сравнения найденных текстов с определенными образцами, то есть по некоторому шаблону или, как еще говорят, по маске.
Обработанная таким образом информация структурируется по заданным правилам. Аналогией парсинга можно считать работу со словарем. Мы парсим словарь, сравнивая его текст с нужным нам словом, а найдя его, узнаем перевод.
Для чего нужен парсинг
Использование этого процесса в информатике очень разнообразно. Перечислить все варианты его применения практически невозможно.
Рассмотрим наиболее важные примеры.
Активнее всего «парсят» всемирную паутину поисковые сервисы. Их программы парсеры, которые называют поисковыми роботами или пауками, непрерывно просматривают и анализируют сайты, пополняя и обновляя свои базы данных. Эта незаметная, но очень важная для нас работа позволяет практически мгновенно находить нужную нам информацию.
Парсинг используется для наполнения сайтов контентом. В некоторых случаях это оправданно, а в некоторых такое действие можно считать воровством интеллектуальной собственности.
Активно парсингом занимаются владельцы интернет-магазинов для заполнения описаний товаров, их характеристик, цен. Сделать все это вручную очень трудно.
Парсинг необходим для быстрого обновления новостных сайтов и других сайтов, содержащих информацию, которая быстро и постоянно изменяется, например, сводки погоды, курсы валюты, изменения на биржах и т. д.
Парсеры мгновенно отслеживают все изменения и отправляют их на сайты заказчиков. Все происходит без вмешательства человека. Мы открываем сайт и смотрим, какая сейчас погода, каков курс доллара на данный момент в разных банках, на каком участке дороги есть пробки и многое другое.
Как я уже упоминал, парсинг необходим для поиска ключевых слов при составлении семантического ядра.
Как работает парсер
Парсер – это программа, написанная на одном из языков программирования.
Принцип работы парсера довольно прост:
Достоинства парсинга
Парсинг, как и любая компьютерная технология, имеет определенные преимущества перед ручной обработкой информации.
На первое место я бы поставил скорость. Парсер быстро обрабатывает огромные массивы данных.
Как и любая, правильно настроенная программа, парсер точно выделяет и структурирует нужную информацию.
Результаты парсинга можно выгрузить в удобном для заказчика виде или сразу же автоматически встроить в нужное место сайта.
Виды парсинга
Парсить можно самые разные данные, и поэтому этот процесс можно разделить на несколько видов.
Анализ аудитории
Парсинг аудитории – это сбор различных сведений о посетителях сайтов, интернет-магазинов, соцсетей.
Собираются при этом самые разнообразные данные, начиная с простых, как ФИО, пол, возраст, образование, местоположение, и заканчивая такими, кажется, неочевидными, как интересы, наклонности в какой-то области и многое другое.
Это необходимо для формирования модели потенциального клиента и разработки более точной и целенаправленной рекламы, что экономит бюджет рекламной кампании.
Парсинг товаров
Этот вид парсинга наиболее важен для владельцев интернет-магазинов. С его помощью собирается информация о товарах, их характеристиках, ценах.
Парсинг сайтов
Парсить сайты можно для разных целей.
Чуть подробнее о сборе ключевых запросов для создания семантического ядра. Количество таких запросов исчисляется миллиардами и, конечно, без программной обработки здесь не обойтись. Для этих целей созданы как специальные программы, так и онлайн-сервисы.
К первым относится самая популярная среди сеошников программа Key Collector, с помощью которой можно парсить ключевые запросы, определять частотность, конкурентность, проводить кластеризацию запросов и т. д.
Среди онлайн-сервисов, которые используются для работы с ключевыми словами, я бы выделил Букварикс, о котором у меня уже есть статья, и сервис Мутаген, считающийся лучшим для определения конкурентности поисковых запросов.
Другое направление, где необходим парсинг сайтов – это их аудит. Например, я также писал о программе Smart Seo Auditor, с помощью которой можно выполнить SEO-аудит как своего, так и чужого сайта.
Утилита парсит сайт, находит заголовки страниц (title, h1-h6), описания (description), изображения с их характеристиками и многое другое, и результаты выдает в виде удобной таблицы.
С помощью парсинга наполняют контентом так называемые, автонаполняемые сайты. Например, для сайтов на WordPress разработаны специальные плагины-парсеры, которые регулярно обходят ресурсы из заданного списка и, в случае появления на них новых статей, сразу же копируют их к себе.
Технические и этические проблемы
Парсеры могут создавать определенные технические сложности. В первую очередь, это связано с трафиком. Хотя парсер – это программа, каждое его подключение фиксируется и представляет некоторую нагрузку на сервер. При слишком частых подключениях эта нагрузка может оказаться чрезмерной, и сайт будет заблокирован.
Другая проблема парсинга носит этический характер. Это связано с тем, что данный процесс во многих случаях можно считать воровством контента. Границы между допустимым и недопустимым довольно расплывчаты.
Я не раз встречал в Интернете сайты, на которых опубликованы статьи, полностью скопированные с моих веб-ресурсов. И хотя там присутствует ссылка на первоисточник, это не очень приятно.
Итак, парсинг – это важный и необходимый процесс, применяющийся для разных целей, который облегчает жизнь многим пользователям Интернета по поиску и обработке огромных массивов информации.
Надеюсь, теперь вам понятны термины «парсинг», «парсить», что это значит, и для чего делается.
Как спарсить любой сайт?
Меня зовут Даниил Охлопков, и я расскажу про свой подход к написанию скриптов, извлекающих данные из интернета: с чего начать, куда смотреть и что использовать.
Написав тонну парсеров, я придумал алгоритм действий, который не только минимизирует затраченное время на разработку, но и увеличивает их живучесть, робастность, масштабируемость.
Чтобы спарсить данные с вебсайта, пробуйте подходы именно в таком порядке:
Найдите официальное API,
Найдите XHR запросы в консоли разработчика вашего браузера,
Найдите сырые JSON в html странице,
Отрендерите код страницы через автоматизацию браузера,
Совет профессионалов: не начинайте с BS4/Scrapy
Крутые вебсайты с крутыми продактами делают тонну A/B тестов, чтобы повышать конверсии, вовлеченности и другие бизнес-метрики. Для нас это значит одно: элементы на вебстранице будут меняться и переставляться. В идеальном мире, наш написанный парсер не должен требовать доработки каждую неделю из-за изменений на сайте.
Приходим к выводу, что не надо извлекать данные из HTML тегов раньше времени: разметка страницы может сильно поменяться, а CSS-селекторы и XPath могут не помочь. Используйте другие методы, о которых ниже. ⬇️
Используйте официальный API
Поищите XHR запросы в консоли разработчика
Все современные вебсайты (но не в дарк вебе, лол) используют Javascript, чтобы догружать данные с бекенда. Это позволяет сайтам открываться плавно и скачивать контент постепенно после получения структуры страницы (HTML, скелетон страницы).
В итоге, даже не имея официального API, можно воспользоваться красивым и удобным закрытым API. ☺️
Даже если фронт поменяется полностью, этот API с большой вероятностью будет работать. Да, добавятся новые поля, да, возможно, некоторые данные уберут из выдачи. Но структура ответа останется, а значит, ваш парсер почти не изменится.
Алгорим действий такой:
Открывайте вебстраницу, которую хотите спарсить
Открывайте вкладку Network и кликайте на фильтр XHR запросов
Обновляйте страницу, чтобы в логах стали появляться запросы
Найдите запрос, который запрашивает данные, которые вам нужны
Копируйте запрос как cURL и переносите его в свой язык программирования для дальнейшей автоматизации.
Кнопка, которую я искал месяцы
Поищите JSON в HTML коде страницы
Как было удобно с XHR запросами, да? Ощущение, что ты используешь официальное API. 🤗 Приходит много данных, ты все сохраняешь в базу. Ты счастлив. Ты бог парсинга.
Но тут надо парсить другой сайт, а там нет нужных GET/POST запросов! Ну вот нет и все. И ты думаешь: неужели расчехлять XPath/CSS-selectors? 🙅♀️ Нет! 🙅♂️
Чтобы страница хорошо проиндексировалась поисковиками, необходимо, чтобы в HTML коде уже содержалась вся полезная информация: поисковики не рендерят Javascript, довольствуясь только HTML. А значит, где-то в коде должны быть все данные.
Современные SSR-движки (server-side-rendering) оставляют внизу страницы JSON со всеми данные, добавленный бекендом при генерации страницы. Стоп, это же и есть ответ API, который нам нужен! 😱😱😱
Вот несколько примеров, где такой клад может быть зарыт (не баньте, плиз):
Красивый JSON на главной странице Habr.com. Почти официальный API! Надеюсь, меня не забанят.
И наш любимый (у парсеров) Linkedin!
Алгоритм действий такой:
В dev tools берете самый первый запрос, где браузер запрашивает HTML страницу (не код текущий уже отрендеренной страницы, а именно ответ GET запроса).
Внизу ищите длинную длинную строчку с данными.
Вырезаете JSON из HTML любыми костылямии (я использую html.find(«=<") ).
Отрендерите JS через Headless Browsers
Если коротко, то есть инструменты, которые позволяют управлять браузером: открывать страницы, вводить текст, скроллить, кликать. Конечно же, это все было сделано для того, чтобы автоматизировать тесты веб интерфейса. I’m something of a web QA myself.
После того, как вы открыли страницу, чуть подождали (пока JS сделает все свои 100500 запросов), можно смотреть на HTML страницу опять и поискать там тот заветный JSON со всеми данными.
Для масштабируемости и простоты, я советую использовать удалённые браузерные кластеры (remote Selenium grid).
Вот так я подключаюсь к Selenoid из своего кода: по факту нужно просто указать адрес запущенного Selenoid, но я еще зачем-то передаю кучу параметров бразеру, вдруг вы тоже захотите. На выходе этой функции у меня обычный Selenium driver, который я использую также, как если бы я запускал браузер локально (через файлик chromedriver).
Парсите HTML теги
Если случилось чудо и у сайта нет ни официального API, ни вкусных XHR запросов, ни жирного JSON внизу HTML, если рендеринг браузерами вам тоже не помог, то остается последний, самый нудный и неблагодарный метод. Да, это взять и начать парсить HTML разметку страницы. То есть, например, из Cool website достать ссылку. Это можно делать как простыми регулярными выражениями, так и через более умные инструменты (в питоне это BeautifulSoup4 и Scrapy) и фильтры (XPath, CSS-selectors).
Мой единственный совет: постараться минимизировать число фильтров и условий, чтобы меньше переобучаться на текущей структуре HTML страницы, которая может измениться в следующем A/B тесте.
Подписывайтесь на мой Телеграм канал, где я рассказываю свои истории из парсинга и сливаю датасеты.
Правда про парсинг сайтов, или «все интернет-магазины делают это»
1. Что такое парсинг?
Раскрою вам тайну: парсингом занимаются все… По крайней мере, все крупные игроки на рынке. Пару лет назад в одной из статей в Ведомостях представители “М-видео”, “Связного” и “Ситилинка” даже в открытую говорили об этом в ответ на интерес ФАС (см. тут).
2. Для чего парсинг нужен?
В первую очередь, целью парсинга является ценовая «разведка», ассортиментный анализ, отслеживание товарных акций. “Кто, что, за сколько и в каких количествах продаёт?” – основные вопросы, на которые парсинг должен ответить. Если говорить более подробно, то парсинг ассортимента конкурентов или того же Яндекс.Маркет отвечает на первые три вопроса.
С оборотом товара несколько сложней. Однако, такие компании как “Wildberries”, “Lamoda“ и Леруа Мерлен, открыто предоставляют информацию об ежедневных объемах продаж (заказах) или остатках товара, на основе которой не сложно составить общее представлении о продажах (часто слышу мнение, мол эти данные могут искажаться намеренно — возможно, а возможно и нет). Смотрим, сколько было товара на складе сегодня, завтра, послезавтра и так в течении месяца и вот уже готов график и динамика изменения количества по позиции составлена (оборачиваемость товара фактически). Чем выше динамика, тем больше оборот.
Потенциально возможный способ узнать оборачиваемость товаров с помощью ежедневного анализа остатков сайта Леруа Мерлен.
Можно, конечно, сослаться на перемещение товаров между точками. Но суммарно, если брать, например, Москву — то число не сильно изменится, а в существенные передвижения товара по регионам верится с трудом.
С объемами продаж ситуация аналогична. Есть, конечно, компании, которые публикуют информацию в виде много/мало, но даже с этим можно работать, и самые продаваемые позиции легко отслеживаются. Особенно, если отсечь дешёвые позиции и сфокусироваться исключительно на тех, что представляют наибольшую ценность. По крайней мере, мы такой анализ делали – интересно получалось.
Во-вторых, парсинг используется для получения контента. Здесь уже могут иметь место истории в стиле “правовых оттенков серого”. Многие зацикливаются на том, что парсинг – это именно воровство контента, хотя это совершенно не так. Парсинг – это всего лишь автоматизированный сбор информации, не более того. Например, парсинг фотографий, особенно с “водяными знаками” – это чистой воды воровство контента и нарушение авторских прав. Потому таким обычно не занимаются (мы в своей работе ограничиваемся сбором ссылок на изображения, не более того… ну иногда просят посчитать количество фотографий, отследить наличие видео на товар и дать ссылку и т.п.).
Касательно сбора контента, интересней ситуация с описаниями товаров. Недавно нам поступил заказ на сбор данных по 50 сайтам крупных онлайн-аптек. Помимо информации об ассортименте и цене, нас попросили “спарсить” описание лекарственных аппаратов – то самое, что вложено в каждую пачку и является т.н. фактической информацией, т.е. маловероятно попадает под закон о защите авторских прав. В результате вместо набора инструкций вручную, заказчикам останется лишь внести небольшие корректировки в шаблоны инструкций, и всё – контент для сайта готов. Но да, могут быть и авторские описания лекарств, которые заверены у нотариуса и сделаны специально как своего рода ловушки для воришек контента :).
Рассмотрим также сбор описания книг, например, с ОЗОН.РУ или Лабиринт.ру. Здесь уже ситуация не так однозначна с правовой точки зрения. С одной стороны, использование такого описания может нарушать авторское право, особенно если описание каждой карточки с товаром было нотариально заверено (в чём я сильно сомневаюсь — ведь может и не быть заверено, исключение — небольшие ресурсы, которые хотят затаскать по судам воров контента). В любом случае, в данной ситуации придётся сильно «попотеть», чтобы доказать уникальность этого описания. Некоторые клиенты идут еще дальше — подключают синонимайзеры, которые «на лету» меняют (хорошо или плохо) слова в описании, сохраняя общий смысл.
Ещё одно из применений парсинга довольно оригинально – “самопарсинг”. Здесь преследуется несколько целей. Для начала – это отслеживание того, что происходит с наполнением сайта: где битые ссылки, где описания не хватает, дублирование товаров, отсутствие иллюстраций и т.д. Полчаса работы парсера — и вот у тебя готовая таблица со всеми категориями и данными. Удобно! “Самопарсинг” можно использовать и для того, чтобы сравнить остатки на сайте со своими складскими остатками (есть и такие заказчики, отслеживают сбои выгрузок на сайт). Ещё одно применение “самопарсинга”, с которым мы столкнулись в работе — это структурирование данных с сайта для выгрузки их на Яндекс Маркет. Ребятам так проще было сделать, чем вручную этим заниматься.
Также парсятся объявления, например, на ЦИАН-е, Авито и т.д. Цели тут могут быть как перепродажи баз риелторам или туроператорам, так и откровенный телефонный спам, ретаргетинг и т.п. В случае с Авито это особенно явно, т.к. сразу составляется таблица с телефонами пользователей (несмотря на то, что Авито подменяет телефоны пользователей для защиты и публикует их в виде изображения, от поступающих звонков все равно никуда не уйти).
3. “Что в резюме тебе моем?” или парсинг HH.RU
В последнее время стали актуальны запросы на парсинг Headhunter-а. Правда сначала люди просят продать им “базу Хедхантера”. Но, когда уже понимают, что никакой базы у нас нет и быть не может, мы переходим к разговору о парсинге в их профиле (“под паролем”). Это своеобразное направление парсинга и, честно говоря, нам оно не особо интересно, однако рассказать о нём стоит.
В чём тонкость? Клиент предоставляет доступ к своему аккаунту и ставит задачу по сбору данных под свои нужды. Т.е. он уже оплатил доступ к базе HH и, подписывая с нами договор, ставит нам задачу на автоматический сбор информации в его интересах и под его аккаунтом, что находится полностью под его ответственностью. В случае, если HH зафиксирует ненормальную активность, аккаунт будет заблокирован. Потому мы стараемся как можно лучше сымитировать человеческую деятельность при сборе данных.
Если бы HH (насколько знаю “успешно” проваливший свои эксперименты с API) сам предоставлял (продавал) данные в табличке по регионам, скажем, контакты всех работающих в данный момент директоров по маркетингу в Москве, к нам бы никто и не приходил. А пока это приходится делать человеку “ручками”, к нам идут. Ведь, когда у тебя есть такая таблица, заниматься рекламным спамом – холодными звонками намного удобнее.
Подчеркну ещё раз, у нас нет базы HH, мы просто собираем данные для каждого клиента под его нужды, его аккаунтом и его ответственностью. И нарушение договора оферты не связано с использованием сайта парсящей стороной. Подписывая с нами договор, клиент получает за прогон контакты порядка 450-ти ЛПР-ов, которые мы положим к нему на сервер, и дальше уже его отдел продаж сам решит, что с этим делать. Эх, мы бы тоже “спамили”, если б у нас была такая база. Шучу 🙂
Хотя, лично я считаю, что нет перспектив в парсинге под паролем. А вот парсинг открытых ресурсов – это другое дело. Ты один раз настроил всё и парсишь постоянно, потом перепродаешь доступ ко всем собранным данным. Это более перспективно.
4. Парсинг вообще законен?
В российском законодательстве нет статьи, запрещающей парсинг. Запрещен взлом, DDOS, воровство авторского контента, а парсинг – это ни то, ни другое, не третье и, соответственно, он не запрещен.
Некоторые люди воспринимают парсинг как DDOS-атаку и относятся к нему с сомнением. Однако, это совершенно разные вещи, и при парсинге мы, напротив, стараемся как можно меньше нагружать целевой сайт и не навредить бизнесу. Как в случае со здоровым паразитизмом – мы не хотим, чтобы бизнес «отбросил копыта», иначе нам не на чем будет “паразитировать”.
Обычно просят парсить крупные сайты, из топа 300-500 сайтов России. На таких сайтах посещаемость, как правило, несколько миллионов в месяц, может даже и больше. И на таком фоне парсинг одного товара в секунду или в две практически незаметен (нет смысла чаще парсить, 1-2 секунды на товар — это оптимальная скорость для крупных сайтов). Соответственно, и намека на DDOS-атаку в наших действиях нет. Очень редко люди просят чтобы мы обновляли, например, весь сайт БЕРУ.РУ за сутки — это, скажем прямо, перебор и слишком высокая нагрузка на сайт… обычно занимает 3-4 дня.
Напомню, что парсинг – это лишь сбор того, что мы можем своими глазами увидеть на сайте и скопировать к себе руками. Таким образом, под статью об авторском праве могут попасть лишь действия с уже собранной информацией, т.е. действия самого заказчика. Просто человек это делает долго медленно и с ошибками, а парсер – быстро и не ошибается. Что же делать, когда речь касается сбора данных с AliExpress или Wildberies? Человеку просто не под силу такая задача, и парсинг – единственный выход.
Правда, недавно попросили парсить сайт государственной организации – суда, если не ошибаюсь. Там в открытом доступе вся информация, но мы (на всякий случай) отказались. 🙂
5. “Вы чего нас парсите, мы же заказчик” или в чем разница между парсингом и мониторингом цен?
Мониторинг цен – одно из наиболее востребованных направлений применения парсинга. Но с ним не всё так просто – поработать в данном случае придётся не только нам, но и самому клиенту.
При заказе на мониторинг цен мы сразу предупреждаем, что будем парсить не только конкурентов, но и заказчика. Это необходимо для получения схожих таблиц с товарами и ценами, которые мы сможем обновлять автоматически. Однако, сами по себе такие данные не несут ценность, пока они не связаны между собой (так называемый матчинг товаров). Некоторые позиции с разных сайтов мы можем сопоставить автоматически, но, к сожалению, на данный момент “машины” еще не так хороши, чтобы сделать это гарантированно без ошибок, и лучше человека (например, работающего удаленно на полставки сотрудника из регионов) это никто не сделает.
Если бы все выводили штрих-код на сайте, то вообще было бы замечательно, и мы могли бы делать все “связки” автоматически. Но, к сожалению, так это не так, и даже названия продуктов разные компании пишут по-разному.
Хорошо, что такую работу необходимо провести единожды, а потом периодически перепроверять и вносить небольшие корректировки, если требуется. При наличии связок мы уже можем обновлять такие таблицы автоматически. К тому же, обычно людям не требуется мониторить цены на всё: есть условно 3-5 тысяч позиций, которые в топе, а мелочь не представляет интерес. И оператор из региона легко сможет выполнять такую работу за деньги порядка 10 000 рублей в месяц.
Самый удачный и правильный кейс в данном случае, на мой взгляд, загружать полученный прайс лист конкурентов сразу к себе в 1С-ку (или другую ERP систему) и там уже выполнять сопоставление. Так мониторинг цен легче всего внедрить в ежедневную деятельность своих аналитиков. А без анализа такой парсинг никому и не нужен.
6. Как защититься от парсинга?
Да никак. И стоит ли вообще защищаться от парсинга? Я бы не стал. Работающей 100% защиты всё равно нет (точнее, мы еще не встречали), так что особого смысла пытаться защититься я не вижу. Лучшая защита от парсинга – это просто выложить готовую таблицу на сайте и написать – берите отсюда, обновляем раз в пару дней. Если люди так будут делать, то у нас хлеба не будет.
К слову говоря, недавно созванивались с IT директором крупной сети – они хотели протестировать свою защиту от парсинга. Я его напрямую спросил, почему они так не делают. Как технический специалист он прекрасно понимает, что никакая защита от парсинга не спасёт, лишь отпугнет дилетантов; а вот компании, которые зарабатывают на парсинге, вполне могут позволить себе исследовательскую деятельность в этом направлении – долго и мучительно разбираться в новой защите, и в итоге ее обойти…
Как правило, все используют однотипные защиты, и такое исследование пригодится еще не раз. Так вот, оказалось, что отдел маркетинга не готов к такому: “Зачем нам упрощать жизнь конкурентам?” Казалось бы, логично, но… В результате компания будет тратить деньги на защиту, которая не поможет, а паразитная нагрузка на сайт – останется. Хотя, справедливости ради, стоит отметить, что от «студентов» изучающих python и парсящих все что «шевелится» вполне может помочь.
Кстати, и “Яндекс”, и “Google” занимаются парсингом: они заходят на сайт и индексируют его – собирают информацию. Только все хотят, чтобы “Яндекс” и “Google” индексировали их сайты по понятным причинам, и никто не хочет, чтобы их парсили 🙂
7. “Я тут бесплатно поискал. ” или история про авиабилеты
Однажды к нам обратились с интересным заказом на тестовый парсинг. Компания занимается авиабилетами и им были интересны цены конкурентов на пару самых популярных направлений. Задача оказалась нетривиальной, т.к. пришлось повозиться с подстановкой и сопоставлением рейсов. Занимательным оказалось то, что цены у “Onetwotrip”, “Aviasales” и “Skyscanner” на одни и те же рейсы немного отличаются (разброс около 5-7%).
Проект показался мне очень интересным, и я выложил пост об этом в соц.сетях. К моему удивлению дискуссия под постом оказалась довольно агрессивной, и я не сразу понял почему. Затем мне написал гендиректор одной из компаний лидера рынка продажи билетов в России, и ситуация прояснилась. Выяснилось, что запросы о ценах на билеты для таких компаний платные, т.к. они берут информацию с международных платных сервисов. И, помимо паразитной нагрузки, парсинг представляет для них еще и финансовую.
В любом случае, никто же с вас не требует оплаты, если вы подыскиваете себе лично билеты на этих сервисах, а запросов обычные люди тоже делают немало пока перебирают разные варианты… В общем тут такая бизнес-дилемма 🙂
8. “Рецепты шеф-парсера”. или как мы работаем?
Думаю, для большего понимания всех аспектов парсинга стоит приоткрыть завесу нашей “внутренней кухни”.
Всё начинается с заказа. Иногда клиенты связываются с нами сами, а иногда звоним мы. Особенно удачно получается с заказами на мониторинг цен. В этом случае нам приходится парсить не только конкурентов, но и самого заказчика. Поэтому мы порой звоним тем, кого так или иначе парсим, и в открытую об этом говорим, предлагая свои услуги – работа ведь нами уже и так выполняется. Сначала реакция очень негативная, но проходит пара дней, эмоции спадают, и заказчики сами перезванивают, говоря: “Чёрт с ним! Кого вы ещё парсите?”
Парсинг у ОЧЕНЬ многих владельцев посещаемых ресурсов вызывает эмоции. Сначала негативные, ведь он схож с подглядыванием в замочную скважину. Затем перерастает в интерес, а потом и в осознание необходимости. Бизнесмены – умные люди. Когда эмоции сходят на нет и остаётся холодный расчёт, всегда возникает вопрос: “А, может, мы где-то недоработали, и нам тоже это нужно?”
Благодаря этим эмоциям мы довольно активно растём и развиваемся. На данный момент мы парсим порядка 300 сайтов в день. Обычно у нас заказывают по 8-15 сайтов, а парсинг одного стоит от 5 до 9 тысяч рублей в месяц, в зависимости от сложности подключения, ведь каждый сайт приходится подключать индивидуально (уходит где-то 4-5 часов на ресурс). Сложность заключается в том, что некоторые защищаются. Борьба идёт не столько с парсингом, сколько с некой паразитной нагрузкой, которая не приносит им прибыль, но иногда приходится повозиться.
В любом случае ВСЁ ПАРСИТСЯ, даже если цена на товар публикуется на сайте как картинка 🙂 Желающим попробовать свои силы в парсинге, рекомендую потренироваться на сайте «Аптеки Столички» и спарсить цены.
Интернет- магазин сети аптек «Столички» — цены пишутся внутренним шрифтом и чтобы их спарсить одним из решений будет формирование картинки и ее распознавание. Мы так делаем по крайне мере.
Собранные данные передаются клиенту. Обычно мы размещаем их на собственном облаке, постоянно обновляя, и предоставляем клиенту доступ к ним по API. Если с данными вдруг становится что-то не так (а это бывает редко – раз в 3-4 месяца), нам сразу звонят-пишут, и мы стараемся устранить проблему как можно быстрее. Такие сбои возникают при установки новой защиты или блокировки, а решаются с помощью исследований и прокси соответственно. В другом случае, когда на сайте что-то меняется, бот просто перестает понимать, где что находится, и нашему программисту приходится заново его настраивать. Но всё решаемо, и заказчики обычно относятся к таким проблемам с пониманием.
Отмечу, что в нашем деле личность заказчика никогда не разглашается – мы относимся к этому достаточно трепетно, да и пункты в договоре о неразглашении никто не отменял. Хоть в парсинге и нет ничего предосудительного, но многие стесняются.
Собственно, подводя итог- если вы растущий бизнес, торгуете широко распространенными товарами или работаете в быстро меняющейся среде (такой, как найм персонала или предложение специфических услуг для определенной категории авторов объявлений, резюме и содержимого других“досок объявлений” в Интернете), то рано или поздно столкнетесь с парсингом (как заказчик или как мишень).