{"id":14285,"url":"\/distributions\/14285\/click?bit=1&hash=346f3dd5dee2d88930b559bfe049bf63f032c3f6597a81b363a99361cc92d37d","title":"\u0421\u0442\u0438\u043f\u0435\u043d\u0434\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u0442\u044c \u043d\u0430 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u0438\u043b\u0438 \u043f\u0443\u0442\u0435\u0448\u0435\u0441\u0442\u0432\u0438\u044f","buttonText":"","imageUuid":""}

Парсили сайты, парсим и будем парсить. И не нужно этому мешать!

Здравствуйте, меня зовут Максим Кульгин. Моя компания xmldatafeed.com занимается парсингом много лет. На днях мы вернули 16 000 руб. клиенту, так как не смогли парсить весь iherb.com с нужной клиенту скоростью. Проверил и оказалось, что это единичный случай за весь год и родилась эта, чуть-чуть философская статья.

Одна из наших прошлых статей (самостоятельный парсинг сайтов) спровоцировала острые дискуссии среди читателей. И в комментариях к статье, и в нашем телеграм-канале (пишем, в том числе, про заработок на парсинге) обсуждение дилеммы «человек против роботов» (здравствуй, Будущее!) перевело взгляд в философскую плоскость.

Все технические разговоры про парсинг неизменно сводятся к рассмотрению средств противодействия ботам и способам это противодействие нейтрализовать.

А надо ли вообще бороться против парсинга?

Любая современная технология имеет своих противников — тех, кто в силу объективных или субъективных причин не желает, чтобы в мир привносилось что-то, меняющее сложившийся порядок вещей.

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

А что же парсинг? Оправдано ли проводить подобные параллели?

За последние годы информация стала по сути настоящим золотом. Вместе с тем как наша жизнь всё в большей степени переходит в цифровую сферу — всё большие объемы информации оказываются доступными во всемирной сети. Неужели стоит удивляться тому, что огромное количество людей: исследователей, предпринимателей, журналистов и политиков — хотят урвать свой кусок от этого пирога?

Давайте повнимательнее взглянем на это и с технической стороны, и со стороны законности, и со стороны потерь или приобретений, которые несут или получают участники информационного рынка против которых же (как некоторым кажется) орудуют полчища цифровых роботов, направляемых неведомыми «злодеями».

Итак.

Парсинг по устоявшейся в российском интернете терминологии включает в себя по сути два процесса:

  • чтение и обход имеющихся на веб-странице ссылок (crawling);
  • вычленение нужной информации из каждой посещенной страницы (scraping).

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

Совершая обход по ссылкам, робот воссоздает истинную карту сайта. Подобным образом трудятся роботы поисковых систем: Google, Ya.ru (бывший Yandex — прощай, эпоха!), DuckDuckGo и другие — создавая карту целого интернета.

Извлечение данных из страниц, полученных по ссылкам, найденным на предыдущем этапе — не самая трудная часть работы. Какими бы сложными или разрозненными данные не были: будь то список товаров, прайс-лист или все конкуренты в городе — они в любом случае структурированы хотя бы на уровне HTML-разметки, и чтение легко осуществляется с помощью специализированных языков, таких как например, XPath.

Главная задача — получить страницу по найденным ссылкам. Причем получить страницу неподдельную, не забитую намеренно искаженной информацией.

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

Поначалу парсеры создавались с использованием уже существующего популярного языка программирования общего назначения, такого как Python или JavaScript, и опирались на узкоспециализированные инструменты, такие как Selenium или PhantomJS. Создание парсера «вручную» требовало уверенного владения навыками программирования и работало только для одной задачи. По мере лавинообразного увеличения спроса на сбор данных стали появляться онлайн-сервисы, предоставляющие исключительную по своей уникальности услугу — настройку парсинга за считанные минуты и полностью без программирования.

Владельцам сайтов, конечно, не понравилось, что созданные с таким трудом данные могут быть легко и бесплатно взяты и использованы кем-то ещё. И они начали противодействовать парсингу всеми доступными способами. Шли годы, и изощренность методов борьбы как с той, так и с другой стороны не пришла бы в голову ни одному писателю-фантасту.

Это противостояние не закончится в обозримом будущем. Быть может стоит остановиться на мгновенье и подумать: а есть ли смысл в этой борьбе? И не служит ли парсинг в итоге интересам самих владельцев веб-сайтов?

— Есть ли надежный способ защитить данные от парсинга?

— Да, конечно! Перевести хранение данных полностью в бумажный формат… И сжечь!

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

Ферма для создания пула мобильных прокси. Эта самая маленькая, кстати. И мы с помощью таких ферм парсим.

Каждый такой запрос содержит данные о браузере (так называемый User agent), и в теории веб-сервер может определить кто именно к нему обращается да и отклонить запрос, если это не человек. (О, будущее!) Однако современные парсеры легко обманывают сервер, притворяясь обычными браузерами.

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

Некоторые веб-серверы отдают данные, используя JavaScript (то есть данные возникают прямо в браузере пользователя и их не удастся отыскать в разметке HTML). Ну, так парсер загрузит то, что ему дадут и точно так же выполнит JavaScript-код перед тем, как начать читать данные — вот и нет никакой разницы!

Бывает, что вебмастера постоянно меняют атрибуты элементов, их взаимное расположение, изобретают трюки с HTML-кодом, внедряют альтернативные форматы передачи данных и даже подбрасывают поддельные данные. Такие действия призваны запутать, усложнить жизнь тем, кто для извлечения данных опирается на строение дерева DOM.

(DOM, Document Object Model — описывает взаимосвязи элементов на веб-странице: от кнопочек и галочек до картинок и расположения элементов для разных устройств).

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

Владельцы ресурса могут принудить пользователя зарегистрироваться через электронную почту, а также устраивать ему экзамен на знание «светофоров» и «верблюдов». К сожалению (или к счастью) опять же, это тоже осложнит жизнь только посетителям, но никак не тем, кто справляется с такими трудностями с энтузиазмом и поставил свою работу на поток.

У специалистов по парсингу имеются целые пулы готовых email-адресов, а роботы уже приняли низкий старт и только ждут отмашки, чтобы нажать на кнопочку «Подтвердить регистрацию». Технологии, основанные на машинном обучении, быстрее любого пользователя найдут светофор даже на помпоне у верблюда. Уже не говоря о помощи со стороны жителей стран с низкой оплатой труда, которые объединяются в целые виртуальные фермы для разгадывания ребусов и готовы выручить искусственный интеллект, если вдруг вместо верблюда потребуется распознать что-то неведомое.

— Рекламная кампания прошла удачно. Ожидается нашествие пользователей.

— Пусть только те попадут на наш сайт, кто не спутает горы и каньоны. А половине вообще скажите: «404 — нет такого сайта».

— Может, хотя бы дать им подсказку, как попасть на наш сайт?

— Нет! Они от нас только этого и ждут!

Пользователь должен быть счастлив — таков закон современного Веба.

Людям не нравится, когда сайт загружается медленно. Они ненавидят отличать светофоры от верблюдов. И даже подтверждать регистрацию через электронную почту им тоже не нравится, особенно, когда в этом не видно необходимости.

— Но это же для защиты содержимого нашего сайта от парсинга!

— Парс… Что вы сказали? Нам нет до этого дела!

Результат борьбы против парсинга очевиден: посетители просто закрывают страницу и идут дальше. Оправдано ли ежечасное снижение посещений только для того, чтобы попытаться остановить автоматизированное чтение контента? Учитывая, что остановить его невозможно. Это же натуральная стрельба из пушки по воробьям!

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

— Содержание сайта всё дорожает и дорожает…

— Так давайте сделаем его ещё дороже!

Каждая дополнительная проверка на сервере привносит задержку и потребляет дорогостоящие ресурсы. Каково это проверять всех посетителей на подозрительность?!

Например, чтобы просто определить, что кто-то запрашивает страницы сайта излишне часто, необходимо отследить аналогичные действия всех посетителей за всё время (а только так и можно выявить отклонения). Все поняли? Надо записывать каждый запрос из сотен или даже тысяч IP-адресов, вычислять средние значения для разных групп, которые и выявляются-то не сразу, обновлять результаты расчетов… Не забываем, что решение о попадании очередного посетителя в допустимые рамки должно приниматься «на лету» и откусывать лишь столько вычислительных ресурсов у сервера, чтобы это не отражалось на скорости отдачи страниц.

Ещё одна угроза — собственная реализация этого дела. Одно некорректное изменение кода — и все пользователи заблокированы! Это не фантастика, такое уже случалось не один раз. Причем фильтр пропускал администраторов и не сразу удавалось понять, почему никто не приходит на сайт. Ошибка в реализации может сыграть и в любую другую сторону: от «перегруза» до «дыры в безопасности». Понадобится очень хороший калькулятор потерь.

А как насчёт роботов, которые напускают на сайты эти ребята: Google, Bing, Yand… (Ах, да! — Ya.ru), DuckDuckGo и другие? Их тоже заблокировать? Конечно, это глупый вопрос. Заблокировать поисковых роботов — всё равно, что заблокировать свой бизнес. Значит, надо как-то отличать одних роботов от других. Хороших от плохих. Да, ещё не забыть, что плохие будут мимикрировать под хороших.

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

А ещё можно просто не противодействовать парсингу.

— Внимание! Запуск нашего стартапа откладывается. Все разработки — в сторону! Все силы — на борьбу с парсингом! Это важно.

Добавление защиты от парсинга означает, что команда будет занята или изобретением защиты, или её реализацией, или тестированием, или мониторингом трафика.

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

Каждый бизнесмен хочет, чтобы его продукт выходил на рынок быстрее конкурентов, регулярнее конкурентов и качественнее конкурентов. Подчас это единственный способ заинтересовать и привлечь клиента. Добавление к списку функций для реализации ещё одной функции — пресловутой защиты от парсинга — означает задержку в реализации всех других функций. А есть ли среди этих «других функций» такая, которая по важности уступает этой защите? Вряд ли.

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

Можно оказать неоценимую финансовую помощь своему проекту, если отказаться от противодействия парсингу.

— Они парсят мой сайт! Накажите их!

— «Они» это кто? Посетители? Поисковые роботы? Мы ничего не можем сделать, это не запрещено законом.

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

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

Во-первых, в разных странах законодательство разное. Особенно учитывая, что взаимодействие происходит в глобальной сети, не имеющей настоящих границ.

Во-вторых, поскольку невозможно провести юридически ясную черту между хорошими и плохими роботами, между браузером пользователя и браузером робота, то общепринятым подходом считается: всё что может быть прочитано законным способом — может быть прочитано с помощью любых инструментов.

Есть, конечно, много нюансов. И ситуация с ВКонтактиком и Даблом тому лишнее подтверждение.

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

И снова начинают превалировать юридические тонкости. Это очень непростая, обширная тема, достойная отдельной статьи.

Мы работаем по-белому, соблюдаем все требуемые государством формальности при работе с данными, имеем большой опыт, а потому бизнес, который заказывает у нас парсинг, находится в полной безопасности.

Сейчас даже прорабатываем идею — маркетплейс по продаже разных баз данных, которые в том числе накопились за время нашей работы. Что-то вроде «Ozon» для бизнеса — несколько миллионов баз данных по разным темам и странам. Это не опечатка: «миллионов»! К нам постоянно обращаются за подобными «покупками» — мы идем навстречу. Но есть мечта — поднять продажу баз данных на небывалый уровень как по доступности для бизнеса, так и по удобству выбора. Какова идея?!

Поисковики парсят сайты на регулярной основе. Но их роботы не единственные, кто читает и собирает открытые данные. Даже если начать составлять список с самых крупных парсеров, мы быстро потеряем счет: Google, Bing, DuckDuckGo, Ya.ru (раньше назывался Яндекс), Baidu, Sogou, Exalead, Alexa, социальные сети…

Есть даже такая технология как Microformats, призванная помогать парсерам лучше понимать кусочки текста на веб-страницах. Многие сайты с удовольствием используют её для привлечения новой аудитории.

— А давайте поставим сервер в лесу. И ни к чему подключать его не будем. И никого не пустим. И никому не скажем…

Также есть всякие специализированные агрегаторы, собирающие узконаправленные виды данных: цены на товар или услугу, новости, блоги… Привлечь нужного агрегатора или даже предпринять усилия, чтобы публиковаться на его страницах — прекрасная возможность для продвижения сайта. Агрегатор — это как маленький специализированный Google.

Если хочется сухих цифр — пожалуйста: 93% трафика сайты получают из поисковых систем, агрегаторов и прочих участников рынка.

А кто это делает? Кто побывал на сайте и привел на него за руку клиента? Кто сделал это не просто бесплатно, но и вообще незаметно? Ответ — роботы! Это их-то предлагается отлавливать и не пущать?!

— Так. Ясно. Понятно. Кто тут парсингом занимается?

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

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

Чтобы всего этого добиться, надо на регулярной основе парсить новости, специализированные площадки, социальные сети, ленты… Собирать данные, обрабатывать их, анализировать… — только так можно узнать и результат рекламной кампании и подкорректировать его.

Речь идет об эффективном использовании астрономических денежных сумм. Да, это всё парсинг.

Разной степени успешности и качества сервисы предлагают свой анализ глобального рынка. Чтобы выиграть в высококонкурентной борьбе, надо внимательно отслеживать соперников, их победы и неудачи — вот ключ к успеху в современном бизнесе.

Всё меняется. SEO тоже меняется. (SEO, Search Engine Optimization — искусство понравиться поисковикам.) Это не просто приход MUM на смену BERT (MUM и BERT — поисковые алгоритмы Google). Все понимают насколько важно оказаться на первой странице поисковой выдачи. А как это сделать, если не использовать правильные ключевые слова и фразы? И как наилучшим образом собрать «правильные слова и фразы», если не парсингом ресурсов, на которых живет целевая аудитория? И это тоже всё роботы!

Лидогенерация — ещё одна совершенно новая область маркетинга.

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

(PPC, pay per click — рекламодатель платит не за показы, а за переходы по рекламным объявлениям. Кстати, если ваши конкуренты натравили роботов делать пустые клики по вашей PPC-рекламе, то есть надежная защита от этого — clickfraud.ru).

Другими словами, современный парсинг позволяет привлекать новый трафик, продвигать свою услугу или продукт, оптимизировать присутствие в Интернете — и всё это значительно более дешевыми и точными средствами.

Давайте отвлечемся от рыночных представлений и взглянем на парсинг ещё с одной точки зрения — с научной.

— Британские ученые установили, что самое большое количество витаминов содержится в аптеке.

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

Если сайт не препятствует парсингу, то он делает свой маленький вклад в развитие науки и человечества. Хотя это и осознать трудно, и поверить в это тоже нелегко.

— Короче…

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

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

Большинство стран считает парсинг законным. И даже если в какой-то стране законодатели посмотрят иначе, аутсорсинг мгновенно решает все трудности. Если надо защитить авторский контент, то законы для его охраны уже есть во всех развитых странах и здесь не нужно ничего изобретать.

Как думаете, почему к нам приходят крупные компании с заказом на парсинг? Причина абсолютно не в том, что мы лучшие в парсинге. А в юридическом желании вынести «сбор данных» за контур организации по требованиям акционеров–безопасников–юристов.

Подавляющее большинство визитов людей на сайт обеспечивают роботы, заранее там уже побывавшие, прочитавшие и осмыслившие (в силу своих способностей) его содержимое. Лучше сделать API (Application Program Interface — программный интерфейс) для доступа к своим данным, чем закрываться от мира и терять потенциальных клиентов.

Интернет меняет мир. Парсинг меняет интернет. Мы, xmldatafeed.com — часть глобального парсинга на постсоветском пространстве :). Всё это называется прогресс. И его не остановить. Тема очень дискуссионная, и я призываю всех высказываться в комментариях. Мы всё равно не придем к единому мнению. Но обмен взглядами — это тоже прогресс.

Где можно почитать больше информации? Я регулярно пишу в Телеграмм наш опыт. Подписывайтесь, если хотите посмотреть на «изнанку» ИТ бизнеса в России или пишите мне с вопросами @maximkulgin.

0
199 комментариев
Написать комментарий...
Вася Пражкин

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

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

И от кардеров с призывом выкладывать свои номера карточек на фейсбук. Обязательно с комментарием "мы работаем по белому"

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

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

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

для них уже греется отдельный котел ))

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

Как спам можно сравнить со сбором и обработкой публичных данных?

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

На самом деле весь парсинг можно переиграть и уничтожить в один клик с помощью связки сервисов Cloudflare + Antubot.Cloud.

Сайты, которые готовы отдавать свои данные по API - окай, парсите вдоль и поперек хоть круглосуточно, но на сайты с небольшой посещаемостью (менее 50к юзеров в сутки) как правило оказывается чрезмерная нагрузка на веб-сервер. По сути - паразитный трафик, который нужно чистить.

И так, в качестве первого барьера защиты будем юзать Cloudflare:
- разрешаем полный доступ всем известным ботам поисковых систем, социальных сетей, собственным серверам, api и так далее;
- принудительная проверка при попытке доступа к сайту из всех стран, кроме России (или стран на которые ориентирован сайт), а также блокировка по user-agent десятков сервисов анализа и мониторинга конкурентов;
- все запросы с ipv6 или по http получат принудительную проверку. Большие пулы адресов ipv6 можно получить очень дешево, чуть ли не бесплатно. Их используют для парсинга, накрутки и манипуляций, от которых мы хотим защититься. В мобильных сетях рунета ipv6 распространен очень слабо, в основном у МТС.
- трафик с протоколами ниже http/2 и все прямые заходы попадают на 5-ти секундную JS-проверку. Данное правило отлично фильтрует паразитный трафик и сотни тысяч тонн непотребства ежедневно.

К сожалению, Cloudflare не избавляет нас от хорошо продуманных поведенческих ботов, а это значит, что сайту могу скрутить поведенческие факторы и по прежнему украсть контент, спарсить цены и так далее. Специально для таких хитропопых имеется второй барьер защиты.

Переходим к настройке Antibot.Cloud:
- при высокой паразитной активности ставим срок жизни куков - 1 день;
- в блокирующие правила импортируем десятки известных user-agent'ов от популярных сервисов парсинга и анализа сайтов;
- включаем recapcha v3;
- в качестве проверки ставим кнопки с выбором цвета (упрощенная динамическая капча);
- проверяем запросы по get "q и text" - так часто ломятся боты с имитацией перехода из поиска Яндекса или Google;
- в принудительную проверку улетают все запросы к сайту без реферера и языка браузера.

Что имеем в итоге:
- защиту от поведенческих и спам-ботов;
- защиту от любых парсеров (любые прокси, http-заголовки и user-agent не имеют значения);
- защиту от фейк-ботов с user-agent как у официальных роботов поисковых систем;
- защиту от проксирования сайта дорвеями;
- проверку ботов по PTR-записям;
- значительное снижение нагрузки на веб-сервер;
- значительную очистку трафика от мусора;
- защиту от воровства контента и автоматизированной конкурентной разведки (вручную получить доступ к сайту все равно получится).

При этом большинство пользователей с белыми fingerprints, cookies и ip проходят проверку автоматически. Боты поисковых систем, шлюзы оплаты, и прочие "белые" боты вообще не видят наличия каких-либо фаерволов.

Сайт получается конкурентное преимущество, так как теперь вытягивать фишки, цены и контент можно только вручную, что просто отлично, ведь конкуренты будут тратить на это намного больше времени, сил и денег.

Оба сервиса облачные, так что все эти мусорные запросы даже не дойдут до веб-сервера на котором развернут сайт и застрянут в Cloudflare или Antibot'е.

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

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

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

с таким подходом, такое чувство что на сайте как минимум - гостайна))
—-
это же просто интернет магазин с актуальными ценами и картинками

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

Защита от Cloudfrlare обходится двумя строчками кода, если чё.

Ответить
Развернуть ветку
4 комментария
Альберт Базалеев

Можно дополнить, что скоро еще можно будет блочить тех, у кого нет поддержки http/3. Один из способов выявления vpn. И exit-ноды тора тоже резать.

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

нет способа защититься от парсинга, все ваши методы - способы сделать парсинг "дороже", вплоть до того что бы каптчу решать индусом (что, кстати, вполне дешево, если миксовать с machine learning - такие сервисы тоже есть)

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

Вся ваша схема разрушается если парсеру в качестве юзер агента указать юзер агент какого нибудь гугл бота или любого мобильного устройства)

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

Для парсинга через cloud flare есть готовые инструменты %)

Ответить
Развернуть ветку
Подлый Пит II

Пример такого сайта в студию. Попробуем обойти.

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

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

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

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

Развернуть ветку
Vikarti Anatra

Cloudflare от режима зависит.
Есть вот несколько сайтов с который мне надо контент стягивать спецботом. Контнетн в принципе доступен для чтения бесплатно.
Речь не про что-то для работы и платить за доступ в принципе устроит. Контент тестовый и обычно раскидан по куче страниц + метаданные.
Часть сайтов - дают пользователем тем кто оплатил им премиум именно скачивать в нормальном но спецботом удобнее, Cloudflare использовали но в беззубом режиме и обходилось просто переключением VPN или увеличением задержек да и то надо было если совсем уж наглеть
часть сайтов - решили что будут бороться, скачивать не дадут никак, те кто используют спецбот мол создают им нагрузку и вообще ужас ужас. И поставили Cloudflare в параноидном режиме. Вообщем проблема обходится другим спецботом специально под них, который просто имеет встроенный браузер.

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

Интересно доживу ли я до того времени, когда данные из инет магазина / маркет-плейса можно будет получать по API и это станет стандартом как телефон в шапке сайта

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

Да, это смешная гонка вооружений. В каждом большом магазине сидит команда парсинга и матчинга товаров, а можно просто договориться, и отдавать фид с товарами и ценами. Тем более что все друг друга знают

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

Есть у меня теория по этому поводу: что сервисы которые парсят маркетплейсы и делают сервисы аналитики, вкладываются не только в парсинг, но и популяризацию бизнеса на маркетплейсах, приводя тем самым новых поставщиков на площадку. Были бы данные открытыми - был бы низкий порог входа - был бы демпинг на рынке - небыло бы таких бюджетов на маркетинг)

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

У знакомого есть такой API для WB, если найду, обязательно скину Вам

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

озон дает АПИ :)

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

Вообще это понятное и очевидное решение:
- парсинг нагружает сайты без необходимости, отжирая ресурсы от обслуживания реальных клиентов
- запрещаем парсинг, а при превышении лимитов выдаем ссылку на API
- стандартизуем API выгрузки, так чтобы можно было делать выгрузку батчами, в том числе по определенному запросу
- стандартизуем API подписок, чтобы можно было получать обновления без необходимости выгружать данные заново
- стандартизуем API синхронизации, чтобы получать измененные данные
И тут у меня встречный вопрос, а ребята которые парсят сайты готовы поделиться прибылью? Вообще-то они все еще расходуют серверные ресурсы, они расходуют небесплатное время разработчиков и при этом строят свой бизнес на данных владельца сайта, получая реальные деньги (не выкладывая данные в условный Open Source).

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

Есть Headless commerce

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

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

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

а как же рейтинги сайтов? similarweb например - тоже в ж***?
—-
opps! с водой ребенка выплеснули

Ответить
Развернуть ветку
9 комментариев
Дима Мельник

Глупости и враки. Автор сам себя убеждает (во что самому хочется верить), что защищаться от парсинга дорого, сложно, невозможно, а парсинг это легально.

Что ж ... пусть попробует рядом с ИНН разместить прайс на свои услуги со стоимостью парсинга соцсетей на предмет фото, имени и фамилии. Бег, знаете, тоже легален. Бег с место преступления - уже другое.

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

По поводу дороговизны. За $25 в месяц cloudflare отрежет всяких "парсеров цен конкурентов". Я не говорю про конфиги для веб серверов, которые отрежут очевидный треш вообще бесплатно.

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

вы не правы. мы парсим сайты за cloud. но cloud увы увеличивает задержку сайта. если не верите - погуглите how to bypasss cloudflare

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

бро может пропустил, автор сразу сказал про скорость + в эту стоимость осталось за скобками. Больше проксей и все скорость сразу возрастает. Только будет уже не рентабельно - финдир не пропустит))

он же скорее и финдир / фирма небольшая у него.

Ответить
Развернуть ветку
1 комментарий
Звенислав Николаевич

Вор рассказывает, что решетки на окнах лишяя трата времени и денег

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

как можно своровать публично доступную информацию? А если я зашел на сайт магазина и построчно скопировал наименование товаров и цены в Excel мне тоже сразу в прокуратуру сдаваться идти?

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

Статья интересная, я даже скача... спарсил её

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

А можно все данные и весь сайт сделать большой картинкой)))

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

На флеше 😂

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

В общем вот, держи

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

Если начать заменять элементы на canvas, а с условным текстом сделать это не сложно, то кажется парсинг в текущем виде очень усложнится

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

1) Чтобы нарисовать текст на канвасе нужно его предварительно получить с бэка. Взаимодействие с беком идет как правило перекидыванием JSON'ов. Опа, вместо усложнения мы предоставили готовую апишку. 2) Поисковики не смогли распарсить canvas - сайт пропал из выдачи.

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

Полностью защититься никак, а вот сделать так, что экономически это стало не выгодно вполне.

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

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

Развернуть ветку
3 комментария
Александр Петров

Подробнее

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

да. но если это не помешает клиентам обычным

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

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

Развернуть ветку
Забор крови

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

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

Спасибо. Увлекательное погружение в ранее проходившую мимо меня область

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

Ещё можно обнаруженным парсерам отдавать не 403, а неактуальные / фейковые данные, дискредитируя таким образом компанию, перепродающую чужие данные.

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

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

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

За очень много денег скачаю для вас архив с https://dumps.wikimedia.org одним кликом

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

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

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

Гугл капча в принципе неплохо борется с этим, может еще что-то от гугла - они детектят например, Selenium(это обходится, но тем не менее).

Я это к чему - гугл спокойно мог бы например, если еще не, проверять движения курсора перед тем, как происходит запрос, что они соответствуют обычному поведению пользователю, смотреть время между запросами(да и вообще, мне надо скачать 100000 записей, у нас типа разные ip, то, получается, с каких-то ip будут приходить запросы типа &offset=400 - подозрительно, обычный человек кликает по порядку), ещё какие-то паттерны.

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

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

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

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

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

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

За последние несколько лет учавствовал во многих проектах по парсингу.
(хотел было написать примеры но чтото срашно стало, по объему они больше iherb на порядки).
И первая мысль после прочтения начала статьи - а зачем Вы демпингуете?
16000 за ихерб да еще и на скорость/время?
Влом анализировать но там явно мудреный JS + какая то защита от парсинга.
Что такое 16000 - это з/п миддла в день с учетом налогов по ТК.
Но опять таки если мидл работает в такой у Вас запаре что он за день пишет парсер для ихерба, то он быстро выгорит.
Я бы отвел на такой проект 1-2 дня попробовать защиту, придумать структуру хранения. и еще 1-2 дня на написание и чистовой релиз.

Но как раз на финальном этап при масштабировании можно на умную защиту и налететь, когда админ на той стороне видит Ваш трафик и начинает за вами охоту.
А одни прокси чего стоят - хорошие не менее вроде 200руб за штуку в мес.
А их надо бывает и 1000 и более.
Да еще и бабки возвращать решили/договорились. Всегда брал почасовку без гарантии результата + 20% предоплаты чисто на исследование проблемы.

Ответить
Развернуть ветку
Артем Акулов
А одни прокси чего стоят - хорошие не менее вроде 200руб за штуку в мес.

Мобильный прокси с ротацией ip раз в 10 мин стоят от 500 руб в мес. Приватные мобильные прокси с ротацией ip по api стоят от 1500 в месяц. В рунете траф анлим. В бурже прокси дороже на порядки.

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

Проси фермы с модемами хаувей уже прошлый век. Переходите на модемы с агрегацией частот(фибоком) у них скорость в разы выше.

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

а можно ссылку почитать? Спасибо

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

Убедили )

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

Нет )

Ответить
Развернуть ветку
Константин Осипов

Борьба парсингом не только для защиты контента, но защита от паразитной нагрузки.

Автор прав, что от парсинга невозможно защитится на 100%. Все способы защиты "временные" и обходятся от 1 часа до пары недель. Те кто по ту сторону парсинга (защищают сайты) знают об этом, и мыслят не "запретом парсинга", а стараются сделать парсинг максимально дорогим.

Я был по обе стороны баррикад, и знаю, что ежемесячно затраты на команду и инфраструктуру могут обходиться в миллионы рублей (у кого-то и в десятки миллионов).

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

В итоге вы никогда не распарсите за приемлемое время крупный сайт за 14 000 рублей. Для окупаемости нужно результаты парсинга одного сайта продавать сразу нескольким клиентам, а также иметь достаточно клиентов, чтобы окупать инфраструктуру.

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

Итого: защита от парсинга на самом деле нужна, как дополнение к защите от DDoS, чтобы срезать трафик, который создаёт нагрузку на сайт, а также защищаться от слива маркетинговых бюджетов защищая формы от всяких SMSBomber'ов и прочего.

Так что скажите спасибо вашим коллегами по цеху за то, что вам приходится нести ежедневные затраты на обход защиты.

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

"Продавать результаты парсинга" нелегально во всех странах мира без исключения.

Сам по себе парсинг, кое где, легален, при условии если результаты используются легальным образом. А вот продажа результатов парсинга - это нелегальная деятельность абсолютно везде. Даже в Северной Корее и Саудовской Аравии (притом что в СА очень специфическое зак-во по IP)

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

Смело

Ответить
Развернуть ветку
Илья Приймак

В бан агента, а пулл ip в чс.

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

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

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

Вспомним классику https://stackoverflow.com/a/1732454/283822 =)

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

Хотя чисто теоретически есть определеное пространство для маневра в легальной плоскости при организации парсинга (по крайней мере в США есть, и это очень важно, хотя в большинстве других цивилизванных стран все сложно), тем не менее именно такая работа как у автора - Абсолютно нелегальна.

Автор сам собирает copyright protected контент и передает его заказчику.

Это чистая уголовщина, и само по себе, и разработка ПО для этой цели. Причем в любой юрисдикции.

Чтобы это выглядело более-менее легально, вы должны не продавать сам контент, а только ПО для его сбора. При этом в договоре обязательно указывать что пользователь ПО не имеет права перепродавать собранный контент (а имеет право использовать только в образовательных и других не запрещенных законом целях). Даже и так это будет легально сильно не везде.

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

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

Ответить
Развернуть ветку
2 комментария
Anton Ilabanau
Подытоживая, можно сделать вывод, что парсинг выгоден всем

лол бред )
если овнеры блочат ботов - значит это для чего-то нужно.

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

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

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

Возвести идею парсинга во благо конечн талант) По факту 100% защититься от него никак не получится, т.к отфильтровывать ботов сейчас не под силу даже яндексу (привет накрутка пф)

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

для кого?

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

Парсинг - не белый и пушистый. Я понимаю кто-то занимается мониторингом цен конкурентов. Но кто-то наполняет свой сайт ворованными описаниями и фотографиями. Кто-то возразит, всё равно фотографии и описания есть на сайтах производителей товара. Но кто-то провел работу, привел данные к единому формату, образмерил картинки. Если я ничего не забыл, то патентное право защищает базы данных, со времен телефонных справочных книг защищает. Вроде вся информация в телефонном справочнике открытая, но ты попробуй собери её.
Автор, вы воруете чужой контент? Сколько у вас было заказов на воровство за прошлый год?

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

Иван, в основном запросы на мониторинг цен, 90%. или больше

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

так это уже не парсинг, а публикация чужого контента. Можно в суд подавать.
Если бытовую аналогию привести:
- Кухонные ножи незаменимая и удобная в быту вещь
-Что за бред??!! Ими столько людей убивают

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

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

Развернуть ветку
Anton Vlasov

Все нормально. Вот почта россии заблокировала нам доступ к апи и теперь мы парсим сайт притворяясь юзером. Сделали они это якобы из-за недостатка ресурсов на серверах. Ха-ха.

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

Интересно, а что там парсить на сайте пр?

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

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

Развернуть ветку
MedievalRain

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

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

Можно но цели разные. Абсолютно

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

"...Парсинг сайтов — что это? Зло для владельцев сайтов или полезный инструмент для бизнеса. Скорее второе, ведь без кропотливого сбора данных не обходится ни один глубокий анализ конкурентов. Парсинг помогает ускорить процесс, снять с человека нагрузку бесконечной рутинной работы и избежать ошибок, вызванных переутомлением.
Использовать парсинг — абсолютно законно, особенно если знать все сопутствующие нюансы. А возможности этого инструмента практически безграничны. Спарсить можно почти всё — нужно только знать как..."
Максим+! )))

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

Как же ты заел

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

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

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

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

Развернуть ветку
Zloy Marketolog

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

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

да знаем. в планах изменить. самому не нравится

Ответить
Развернуть ветку
Анастасия Карпова - UN English

А разве парсинг это не скачивание клиентской базы?
И если да, то разве это легально?

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

Клиентскую базу не найдешь в открытом доступе

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

нет, это "просмотр-сохранение"

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

Легально.

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

Интересно было-бы услышать из-за чего конкретно у вас это не получилось.

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

Надо было много и быстро в ограниченном бюджете . Если бы мало и медленно - осилили Бы

Ответить
Развернуть ветку
Илья Греднев

Интересная статья - заставляет задуматься о полезности парсинга

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

Упростим. В войне парсеров и антипарсеров проигрывает пользователь. А кто первый начал? - Парсеры. Значит они плохие.

Ответить
Развернуть ветку
Хитрый Чен

Да вообще, парсинг закреплён 29 статьей Конституции, и все кто против - против Конституции и должны либо отправится на фронт, либо в тюрьму. Все )

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

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

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

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

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

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

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

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

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

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

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

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

Развернуть ветку
Егор Мельник

Скоро конец вашему парсингу. Большинство сайтов будет как iherb и вам это не изменить. Зло в лице вашей конторы будет побеждено.

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

что такое добро и зло известно лишь Богу

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

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

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