19,6 млн рублей за 2022 год. Парсинг сайтов. 25 советов желающим заняться

Меня зовут Максим Кульгин, моя компания xmldatafeed занимается парсингом сайтов в России порядка четырёх лет. По итогам прошедшего 2022 года поделюсь советами для тех, кто думает о подобном бизнесе. Бизнес очень интересный, но наполнен нюансами, которые и расскажу в статье.

Я ранее рассказывал про наш опыт развития бизнеса на парсинге сайтов в двух статьях (часть 1 и часть 2). Теперь хочу подвести итоги 2022 года и дать некоторые советы командам, которые хотят составить нам конкуренцию (не вижу, кстати, в этом ничего страшного, т. к. рынок довольно большой и скорее всего у вас будет свой путь, отличный от нашего). Никого, разумеется, не учу, пишу только наш опыт, с ним можно согласиться или нет — но у нас именно так… Всегда рад комментариям, которые заставляют задуматься и взглянуть на то, что делаем с другого ракурса.

В 2022 году мы чуть-чуть выросли по сравнению с 2021 годом и, как напишу ниже, февральские события оказали существенное влияние (да и на графике выше это заметно по марту 2022 г.). Сразу отмечу, что расходы и доходы — перетекающий остаток (декабрь 2021 на январь 2022 и т. п.), поэтому не ищите подвоха в том, что расходы больше доходов. Все что зарабатываем тратим на команду, на себя и на инновации (да-да, копошимся потихоньку и пытаемся нащупать новые ниши в этом бизнесе).

Итак…

1. Это проектный бизнес. Я мечтаю о продуктовом бизнесе, где затраты, по мере роста клиентской базы, растут не так линейно. В парсинге вы столкнетесь с обратным. Сейчас у нас 6 программистов fulltime и я понимаю, что если придут 2-3 крупных клиента — будем нанимать еще ребят (место, ПК, обучение и т. п.).

2. Продукт из парсинга нам сделать сложно. Подходили к этому «снаряду» пару раз, начинали и… бросали. Не утверждаю, что продуктовый подход тут не подойдет, но у нас видимо не хватает знаний, чтобы сделать. Решили больше даже не начинать :)

3. Аналитика никому особо не нужна. В комментариях к прошлым публикациям было много советов, что нужно делать аналитику и продавать дороже. Воодушевился, кинулись и … у нас не получилось. Не просят, не нужно, делают сами внутри своих систем (1С, Ексель, PowerBI, Google BigQuery и т. п.) . Плюнули и теперь даже не пытаемся. Концентрируемся на стабильном парсинге и предоставлении данных. Формат, кстати, не важен - csv/json/xml/excel - просят по разному.

4. Матчинг товаров не получается. Вы не поверите, но постоянно пишут микро-команды из очень умных ребят (пишу без малейшей иронии), которые предлагают сделать матчинг товаров с использованием "новых алгоритмов на базе (сверточных, пузырьковых и т. п.) нейронных сетей" и зарабатывать вместе. Даем на тестирование два набора данных аптечных сетей и просим связать товары между собой. Результат? Немногим лучше, чем с использованием вот этого бесплатного модуля для Excel. Я не утверждаю, что это невозможно, но факт в том, что за много лет у нас так и не получилось делать матчинг товаров лучше, чем руками человека.

5. СВО повиляло. Ощутили резкое падение выручки, боялись что бизнес «усохнет». Много клиентов ушло, но спасло то, что 50% из них потом вернулись и пришли новые в конце весны. Спасает то, что данные всегда будут нужны.

6. Невозможно парсить все сайта. Есть сайты, которые мы не парсим в нужных объемах и отказываем клиентам. Кто-то скажет, мол это нехватка компетенций — не соглашусь. Дело в том, что когда у вас стоят задачи на неделю вперед по текущим клиентам, которые платят — команда будет заниматься не исследовательской работой, а именно этими горящими задачами.

Хотите проверить свои способности в парсинге — Леруа Мерлен, регионы Москва + Питер, данные каждый день по всем товарам. Получится? Мы с вами работаем )

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

8. Поддержка только в «явочном порядке». Когда к вам приходит клиент и просит парсить, условно 450 сайтов (у нас есть такой), то отдел поддержки просто физически не сможет каждый день проверять содержимое всех CSV/XLS — файлов. Все, что удается системно делать — анализировать разницу в количестве данных между «вчера« и »сегодня» и при резком отличии в количестве — залезать «внутрь».

9. Вам будут нужны bare metal сервера — ищите просто где дешевле и все. Желательно в регионе, где находятся источники для вашего парсинга (у нас в ДЦ в Москве).

10. Вам потребуется хостер с безлимитным трафиком. Добавить нечего. Никаких «облаков» с тарификацией по гигабайтам.

11. Никогда не соглашайтесь на парсинг изображений. Только ссылки на картинки на сайтах-первоисточниках. Вопрос в авторском праве, ну а главное — объем данных. Будет много сайтов, вы просто не «переварите» объемы.

12. Вам нужен будет хостер, кто адекватно воспринимает abuse. Раз в квартал хостер будет получать abuse от тех сайтов, которые вы парсите. Не очень ведь здорово, если хостер просто отключит вам сервера? Поэтому договаривайтесь на «берегу».

13. Не занимайтесь парсингом персональных данных. Просить будут регулярно, не соглашайтесь. Причина? Это будет не бизнес, а временная «темка». Есть закон и он суров. Вы должны на 99% быть в правовом поле. Почему именно 99%? 1% оставляю на нюансы, которые вы будете обсуждать интимно с заказчиками (бывает разное, поверьте).

14. Вас будут постоянно просить сделать базы для спама. Каждый день мы получает 5-6 запросов на создание баз компаний, но каждый первый просит, чтобы в этой базе были личные контакты ЛПР (генерального, директора по маркетингу и т. п.). Решения нет, т. к. см. пункт выше про персональные данные.

15. Парсинг — это не rocket sience. Полно готовых библиотек, особенно для python и я уверен, что каждый может оказывать услуги парсинга в сегменте b2b. Что является вашим конкурентным преимуществом? Только известность и команда (я понимаю, что звучу как «капитан очевидность», но так и есть).

16. Язык программирования не важен. Добавить нечего. Клиента вообще не интересует, на чем вы программируете.

17. Не соглашайтесь на просьбы сделать «программку для парсинга». Парсинг — это услуга. Нас регулярно просят сделать «скрип, чтобы парсил на моем ПК». Отказываем. Причина? Ну думаю она и так понятна — замучают поддержкой, т. к. любой изменение разметки сайта и «скрипт» не работает.

18. Мобильные прокси — ваше «все». Добавить нечего. Советую иметь пару поставщиков.

19. Люди предпочитают писать заявки на парсинг с личных почтовых адресов. Объяснения этому у меня нет, просто примите как данность. Даже крупные, известные компании, заявки на парсинг часто пишут с личных адресов их сотрудников.

20. Поддержки очень много, поверьте. Нет, не так — ее просто «завались»! Половина команды работает над исправлением сбоев (изменилась разметка сайта — парсинг остановился), а половина — над подключением новых сайтов.

21. Cloudflare обходится. Тут добавить нечего. Скорость падает, это факт, но данные собираются. Да и qrator (ребята однозначно молодцы, защищают от ddos) тоже обходится.

22. Решение капчи — ваше «все». Сервисов полно, выбирайте любой на ваш вкус. Замедляет парсинг ощутимо и это как раз и приведет к тому, что части клиентов приходится отказывать в оказании услуги, ведь люди хотят парсить все и сразу :) — а так не получается.

24. Западные рынки? Не получилось. После выхода первых статей (ссылки выше), получил много предложений развивать парсинг на западных рынках (точнее глобальных — был Уругвай, Чили, Европа и т. п.). Не срослось и даже не могу внятно объяснить почему, просто факт. Полагаю, что для глобального развития нужен продукт, а парсинг — это услуга.

25. Будут клиенты на 500 сайтов и цена за каждый сайт падает. У нас есть клиент, для которого надо парсить ~450 сайтов в месяц. В месяц мы берем максимум 80 сайтов на подключение (не забывая про поддержку тех, которые уже подключили). Цена за сайт при таком количестве снижается до 2000 р. в месяц, а работы очень много.

На этом пока всё. Надеюсь, что было полезно и интересно. Больше информации вы можете найти в моем личном Телеграм- канале «Русский ИТ бизнес» — в нем пишу всю «изнанку», с чем сталкиваемся в процессе работы, без приукрашивания. Если что-то упустил — спрашивайте в комментариях, отвечу обязательно.

p.s. просили добавить пункт 26 - продажа результатов парсинга нескольким клиентам - спешу вас разочаровать - в 90% запросов парсинг уникален и не подлежит перепродаже. А как бы хотелось...

0
109 комментариев
Написать комментарий...
Xi

«Бизнес очень интересный, но наполнен нюансами»
Главный нюанс это то, что владельцы других сайтов считают тебя пидорасом, не так ли?😁

Ответить
Развернуть ветку
Максим Кульгин
Автор

Не знаю 🤷‍♂️ мы не спрашиваем. Ну так то точно мы прикладываем усилия чтобы не вредить никому

Ответить
Развернуть ветку
3 комментария
Петр Вавилов

тема дарасов тут объемная. С другой стороны если ты даешь данные, то сделай нормальное апи и продавай доступ к нему.

Ответить
Развернуть ветку
3 комментария
Никита Звонарь

пускай считают) деньги не всегда пахнут

Ответить
Развернуть ветку
1 комментарий
Артём Сергеевич

Всё верно, когда программисты пишут что язык программирования не важен и клиенту нужна лишь решённая задача - аж душу греет))

Ответить
Развернуть ветку
Петр Вавилов

Сейчас придут люди и будут питоном махать ))
А так да, главное результат тут.

Ответить
Развернуть ветку
5 комментариев
Дмитрий Перепёлкин

Опять этот пёс со своим парсингом

Ответить
Развернуть ветку
Vasil Zhyhalkin

А я занимаюсь парсингом для удовольствия, на ZennoPoster, чтоб мозги не закисли - https://t.me/actualdb

Ответить
Развернуть ветку
Кирилл Макеев

когда идёт 23-ий год, а твоя компания называется xml-что-то

Ответить
Развернуть ветку
Дамир Саяпов

Шутка? Кому какая разница какое название если деньги поступают?

Ответить
Развернуть ветку
2 комментария
Профессор Фортран
Леруа Мерлен, регионы Москва + Питер, данные каждый день по всем товарам. Получится? Мы с вами работаем )

А я-то думаю, почему у леруа такой ущербный сайт... А оказывается, все силы бросили на защиту от парсинга. Парсинг считаю нищебродством, но в случае в леруа это тот случай, когда с водой выплеснули ребёнка.

Ответить
Развернуть ветку
Роман

Спасибо. Большой, информативный и полезны материал. А можно ещё по 18 пункту чуть подробней - почему именно мобилки, а не резидентные? Почему именно пару поставщиков? И собственно на что ориентироваться, чтобы подобрать сразу ок и не встрять при большом заказе?

Ответить
Развернуть ветку
Максим Кульгин
Автор

Из опыта лучше моб прокси ! Уж не могу сказать почему :) ребята пробовали множество .

Ответить
Развернуть ветку
2 комментария
Родион Тимофеев

Как всегда на высоте)

Ответить
Развернуть ветку
Петр Вавилов

Все по делу.
нужно только 26 пункт добавить, по возможности продавать результат не только одному клиенту.

Ответить
Развернуть ветку
Максим Кульгин
Автор

щас добавлю. но к сожалению это не так :(

Ответить
Развернуть ветку
1 комментарий
Albert SHaripov

Интересная и доканчивая статья 👍

Ответить
Развернуть ветку
Аватарка- не приговор

когда то было желание заняться таким, вот может по случаю есть причина пробнуть

Ответить
Развернуть ветку
Lara Gromova

благодарю, было полезно

Ответить
Развернуть ветку
Vika Koroleva

Опередили прямо меня с пунктом 26. Как бы круто было один и тот же набор данных (ладно, в другой обертке) продавать нескольким клиентам

Ответить
Развернуть ветку
Максим Кульгин
Автор

Было бы бомба 💣:)

Ответить
Развернуть ветку
МирБезнала

Спасибо за статью, все написано по делу. Приведены интересные выводы, было полезно почитать.

Ответить
Развернуть ветку
Артём Артёмов

Не понял только для чего у вас заказывают парсинг? С какой целью нужна данная услуга?

Ответить
Развернуть ветку
Максим Кульгин
Автор

Анализ цен конкурентов - самое простое и популярное

Ответить
Развернуть ветку
3 комментария
Неопознанный Енот

Плюсую вопрос, тоже интересно, и тоже не могу придумать зачем

Ответить
Развернуть ветку
Sergei Timofeyev

Расскажи, как обходишь Cloudfire защиту от парсинга? )

Ответить
Развернуть ветку
Vladimir
Ответить
Развернуть ветку
Konstantin Feoktistov

Вот да, тоже интересно. Выяснить rate limit и обойти - просто. Если это и есть "обход", то это не обход.
Вот если вы умеете без участия человека челленджи обходить...

Ответить
Развернуть ветку
Anton Kolochenkov

Стоп, так компания убыточна? Почему??

Ответить
Развернуть ветку
Максим Кульгин
Автор

Убыточна ?)) почему ? Прибыльна

Ответить
Развернуть ветку
2 комментария
Евстигней Иванов

А почему нельзя сделать селф-сервис для парсинга? И будет продукт

Ответить
Развернуть ветку
Максим Кульгин
Автор

Разметка разная на сайтах

Ответить
Развернуть ветку
5 комментариев
edgeskill.ru

Я занимаюсь такой разработкой - неважно, что разметка разная, можно смотреть на визуальные признаки

Ответить
Развернуть ветку
Олег Заньков

А не пробовали для парсинга использовать какие-то nocode решения? К примеру n8n.io или nodul.ru использовать?
К примеру в nodul есть возможность использования http запросов и headless браузера в облаке, а в n8n есть http запросы тоже

Ответить
Развернуть ветку
Павел Сутырин

Указание на абьюзоустойчивые bare metal сервера с безлимитным трафиком как бы намекает, чем закончатся эксперименты с румяными nocode-решениями))

Скорее всего, несопоставимый capacity.

Ответить
Развернуть ветку
1 комментарий
Игорь Кравченко

сайт с прокси посоветуйте :D

Ответить
Развернуть ветку
Максим Кульгин
Автор

Любые мобильные - надо пробовать каждый и выбирать которые подойдут вам для вашей задачи

Ответить
Развернуть ветку
Виталий
4. Матчинг товаров не получается. ... Немногим лучше, чем с использованием вот этого бесплатного модуля для Excel. Я не утверждаю, что это невозможно, но факт в том, что за много лет у нас так и не получилось делать матчинг товаров лучше, чем руками человека.

Есть какие-то библиотеки на подобие этого модуля? Допустим для PHP и т. д.

Ответить
Развернуть ветку
Максим Кульгин
Автор

Думаю полно это же fuzzy search

Ответить
Развернуть ветку
1 комментарий
Max Beard

Интересно, ребят из oxylabs.io премией за Sustainability наградили. В детали не вдавался, но не гонят с-ми тряпками ))
Вроде как упаковывают в продукт.

Ответить
Развернуть ветку
Максим Кульгин
Автор

У нас не получилось :(

Ответить
Развернуть ветку
2 комментария

Комментарий удален модератором

Развернуть ветку
Максим Кульгин
Автор

Да верно. Список сайтов и формат на выходе данных - все

Ответить
Развернуть ветку
2 комментария
Anton Zakharov

Добрый день.
А вы можете немного рассказать про математику вашего бизнеса,? (как ведете управленческий учет, в какой системе, какими инструментами пользуетесь, чтобы анализировать ваш бизнес)?

Ответить
Развернуть ветку
Максим Кульгин
Автор

Ексель :) ничего сложного

Ответить
Развернуть ветку
2 комментария
Denis Ulyanov
если придут 2-3 крупных клиента — будем нанимать еще ребят

Не понятно почему. Скорее всего им нужны будут те же самые сайты которые вы и так парсите и вряд ли потребуются что-то еще

Матчинг товаров не получается

Матчинг не решается только алгоритмами. Здесь большое количество и ручных проверок должно быть (в том числе и для оценки точности). Но при этом автоматика может позволить ежедневно находить 500к+ новых матчей, в то время ручками это невозможно за более менее адекватные деньги. Тут вопрос есть ли клиенты для этого

Ответить
Развернуть ветку
Борис Д

А если сайт, видя в вас бота, не блокирует вас, а вместо этого подсовывает боту искаженные данные... Как это проверить?

Ответить
Развернуть ветку
Максим Кульгин
Автор

Такое бывает крайне редко

Ответить
Развернуть ветку
3 комментария
staycalm7

Ничего не могу сказать по поводу сервиса по парсингу, но работал с другим проектом компании - сайтом clickfraud.ru который не работал от слова совсем. Уже писал один раз под каким-то вашим постом: Максим, так как вы работаете с Директом, то сделайте полноценный А/B тест, чтобы наконец показать, что ваш сервис clickfraud.ru работает.

Ответить
Развернуть ветку
Максим Кульгин
Автор

150 клиентов опровергают ваши слова, мы развиваемся, активно улучшаем алгоритмы - но я же не навязываю вам наш сервис. Не понравилось - ради бога.

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Денис Пешехонов

А что значит матчинг товаров? Нужно найти одинаковые товары на сайтах разных аптек, условно? И не ищется, потому что слишком много разницы в том, как пишут названия? Неужели эту задачу до сих пор не решили на чистых алгоритмах, без нейросетей?

Ответить
Развернуть ветку
Максим Кульгин
Автор

Точность плохая в итоге

Ответить
Развернуть ветку
1 комментарий
Александр Полк

Приветствую Максим, у меня есть клиенты, которым постоянно требуется Парсинг Ozon, можно я вам буду их передавать за процент?

Ответить
Развернуть ветку
Dmitri Kov

Посоветуйте им маяк или mpstats

Ответить
Развернуть ветку
Максим Кульгин
Автор

Пожалуйста ☺️ буду рад

Ответить
Развернуть ветку
Sergey

Спасибо за статью, очень интересные выводы, но я не могу не задать вопросы так как сам долгое время занимался подобными вещами)

1. Это проектный бизнес. Я мечтаю о продуктовом бизнесе, где затраты, по мере роста клиентской базы, растут не так линейно.

Разве это не должно заставить искать опции, при которых вы оптимизируете процесс так, чтобы затраты росли не линейно? Ну вот переключим в область, например, аутсорса. Есть 5 программистов, каждый сидит на проекте. Берём новый проект, нужен ещё 1 программист. Логично? Вроде да, но при этом можем взять по часу у каждого, и тянуть ещё 6-й проект. Очень грубый пример, но всё же. Считаю, что это должно быть наоборот мотивацией и драйвером.

3. Аналитика никому особо не нужна.

Также натыкался на подобное, но думаю дело в том, что аналитика в каждом конктерном случае - очень конкретная и заказчик сам уже знает, что ему надо. Никто не будет платить лишнюю тысячу рублей за то, чтобы узнать, что товар покупался 10 раз, это скорее всего и так известно, соответственно, аналитика либо должна быть очень точная и дешёвая, либо вообще не нужна.

4. Матчинг товаров не получается.

Тут полностью согласен. На протяжении трёх лет пытался сделать даже не матчинг товаров, а просто названия спортивных команд. Тоже пришёл к выводу, что проще перебрать за 2 часа 500 названий, чем тыкать пальцем в небо. Разве что использовать неполные алгоритмы сравнений и допускать вероятность ошибок.

6. Невозможно парсить все сайта. Дело в том, что когда у вас стоят задачи на неделю вперед по текущим клиентам, которые платят — команда будет заниматься не исследовательской работой, а именно этими горящими задачами.

Не думали о том, что "недельный" клиент завтра уйдёт, а "исследовательский" останется на долгие года? Почему бы не нанять парочку, да тех же джунов, чтобы сидели и изучали, что к чему, за лоу прайс/опыт/дошираки?

8. Когда к вам приходит клиент и просит парсить, условно 450 сайтов (у нас есть такой), то отдел поддержки просто физически не сможет каждый день проверять содержимое всех CSV/XLS — файлов.

Ну опять же, странно звучит. Накиньте к стоимости определённый %, посадите ещё одного человека - зарабатывайте. В крайнем случае, выработайте системную методику выявления того, что нужно замечать. Звучит, как лень/нежелание.

16. Язык программирования не важен. Добавить нечего. Клиента вообще не интересует, на чем вы программируете.

С точки зрения клиента - да. С точки зрения разработки и поддержки - очень важно.

17. Не соглашайтесь на просьбы сделать «программку для парсинга». Парсинг — это услуга. Нас регулярно просят сделать «скрип, чтобы парсил на моем ПК». Отказываем. Причина? Ну думаю она и так понятна — замучают поддержкой, т. к. любой изменение разметки сайта и «скрипт» не работает.

Опять та же история. Почему бы не сделать так - вот наша основная услуга - парсинг, например, пакетный. Можем вам сделать программку за 25000 рублей, но условно завтра она перестанет работать. Кто-то да согласится, для вас - лёгкие деньги.

Ответить
Развернуть ветку
Павел Сутырин

А у вас сколько сотрудников?)

Ответить
Развернуть ветку
anjeytv

Вопрос про прокси — сайт может отследить оригинальный айпишник?

Например, заходишь ты из РФ на Инстаграм через Dolpin Anty с американской непубличной проксей, а он тебе такой — попался, Гусь Хрустальный!

Ответить
Развернуть ветку
Максим Кульгин
Автор

А знаете вы правы - иногда прокси сохраняют отригинальный адрес !

Ответить
Развернуть ветку
1 комментарий
Иван Евменов

А сервисы типа Сравни.Ру или Едадила? Или это не парсинг?

Ответить
Развернуть ветку
Максим Кульгин
Автор

Парсинг :) вовсю

Ответить
Развернуть ветку
Владимир Воловцев

А какие вы используете безлимитные хостинги, которые не реагируют на абузы? Можете привести пару примеров?

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Максим Кульгин
Автор

Мы парсим фактические данные, цена название - не уверен, что с этим моде быть проблема судебная

Ответить
Развернуть ветку
3 комментария
Павел Сергеев

Из 25го пункта следует, что у вас около 60% выручки с одного клиента? Если так, то как-то не очень ситуация, для стабильности бизнеса.

Ответить
Развернуть ветку
Максим Кульгин
Автор

я знаю... это есть небольшая проблема.

Ответить
Развернуть ветку
1 комментарий

Комментарий удален модератором

Развернуть ветку
106 комментариев
Раскрывать всегда