Парсили сайты, парсим и будем парсить. И не нужно этому мешать!
Здравствуйте, меня зовут Максим Кульгин. Моя компания 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-адресов, а роботы уже приняли низкий старт и только ждут отмашки, чтобы нажать на кнопочку «Подтвердить регистрацию». Технологии, основанные на машинном обучении, быстрее любого пользователя найдут светофор даже на помпоне у верблюда. Уже не говоря о помощи со стороны жителей стран с низкой оплатой труда, которые объединяются в целые виртуальные фермы для разгадывания ребусов и готовы выручить искусственный интеллект, если вдруг вместо верблюда потребуется распознать что-то неведомое.
Пользователь должен быть счастлив — таков закон современного Веба.
Людям не нравится, когда сайт загружается медленно. Они ненавидят отличать светофоры от верблюдов. И даже подтверждать регистрацию через электронную почту им тоже не нравится, особенно, когда в этом не видно необходимости.
Результат борьбы против парсинга очевиден: посетители просто закрывают страницу и идут дальше. Оправдано ли ежечасное снижение посещений только для того, чтобы попытаться остановить автоматизированное чтение контента? Учитывая, что остановить его невозможно. Это же натуральная стрельба из пушки по воробьям!
Если веб-разработчик начинает менять расположение элементов страницы на постоянной основе, единственное что он подарит посетителям — это разочарование, когда они не смогут найти нужную информацию на привычном месте. Вдобавок каждое такое изменение чревато ошибками, что сделает посетителя ещё несчастнее.
Каждая дополнительная проверка на сервере привносит задержку и потребляет дорогостоящие ресурсы. Каково это проверять всех посетителей на подозрительность?!
Например, чтобы просто определить, что кто-то запрашивает страницы сайта излишне часто, необходимо отследить аналогичные действия всех посетителей за всё время (а только так и можно выявить отклонения). Все поняли? Надо записывать каждый запрос из сотен или даже тысяч 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.
Ждем статей от спамеров, почему спам полезен и нужен и как бессмысленно против него бороться.
И от кардеров с призывом выкладывать свои номера карточек на фейсбук. Обязательно с комментарием "мы работаем по белому"
скоро хочу опубликовать статью, как делают эти базы компаний.
для них уже греется отдельный котел ))
Как спам можно сравнить со сбором и обработкой публичных данных?
На самом деле весь парсинг можно переиграть и уничтожить в один клик с помощью связки сервисов 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'е.
Комментарий недоступен
с таким подходом, такое чувство что на сайте как минимум - гостайна))
—-
это же просто интернет магазин с актуальными ценами и картинками
Защита от Cloudfrlare обходится двумя строчками кода, если чё.
Можно дополнить, что скоро еще можно будет блочить тех, у кого нет поддержки http/3. Один из способов выявления vpn. И exit-ноды тора тоже резать.
нет способа защититься от парсинга, все ваши методы - способы сделать парсинг "дороже", вплоть до того что бы каптчу решать индусом (что, кстати, вполне дешево, если миксовать с machine learning - такие сервисы тоже есть)
Вся ваша схема разрушается если парсеру в качестве юзер агента указать юзер агент какого нибудь гугл бота или любого мобильного устройства)
Для парсинга через cloud flare есть готовые инструменты %)
Пример такого сайта в студию. Попробуем обойти.
Комментарий недоступен
Комментарий удален модератором
Cloudflare от режима зависит.
Есть вот несколько сайтов с который мне надо контент стягивать спецботом. Контнетн в принципе доступен для чтения бесплатно.
Речь не про что-то для работы и платить за доступ в принципе устроит. Контент тестовый и обычно раскидан по куче страниц + метаданные.
Часть сайтов - дают пользователем тем кто оплатил им премиум именно скачивать в нормальном но спецботом удобнее, Cloudflare использовали но в беззубом режиме и обходилось просто переключением VPN или увеличением задержек да и то надо было если совсем уж наглеть
часть сайтов - решили что будут бороться, скачивать не дадут никак, те кто используют спецбот мол создают им нагрузку и вообще ужас ужас. И поставили Cloudflare в параноидном режиме. Вообщем проблема обходится другим спецботом специально под них, который просто имеет встроенный браузер.
Интересно доживу ли я до того времени, когда данные из инет магазина / маркет-плейса можно будет получать по API и это станет стандартом как телефон в шапке сайта
Да, это смешная гонка вооружений. В каждом большом магазине сидит команда парсинга и матчинга товаров, а можно просто договориться, и отдавать фид с товарами и ценами. Тем более что все друг друга знают
Есть у меня теория по этому поводу: что сервисы которые парсят маркетплейсы и делают сервисы аналитики, вкладываются не только в парсинг, но и популяризацию бизнеса на маркетплейсах, приводя тем самым новых поставщиков на площадку. Были бы данные открытыми - был бы низкий порог входа - был бы демпинг на рынке - небыло бы таких бюджетов на маркетинг)
У знакомого есть такой API для WB, если найду, обязательно скину Вам
озон дает АПИ :)
Вообще это понятное и очевидное решение:
- парсинг нагружает сайты без необходимости, отжирая ресурсы от обслуживания реальных клиентов
- запрещаем парсинг, а при превышении лимитов выдаем ссылку на API
- стандартизуем API выгрузки, так чтобы можно было делать выгрузку батчами, в том числе по определенному запросу
- стандартизуем API подписок, чтобы можно было получать обновления без необходимости выгружать данные заново
- стандартизуем API синхронизации, чтобы получать измененные данные
И тут у меня встречный вопрос, а ребята которые парсят сайты готовы поделиться прибылью? Вообще-то они все еще расходуют серверные ресурсы, они расходуют небесплатное время разработчиков и при этом строят свой бизнес на данных владельца сайта, получая реальные деньги (не выкладывая данные в условный Open Source).
Есть Headless commerce
«Во-вторых, поскольку невозможно провести юридически ясную черту между хорошими и плохими роботами» - юридически, пока - да. Практически все роботы, кроме роботов поисковых систем должны и идут в жопу.
а как же рейтинги сайтов? similarweb например - тоже в ж***?
—-
opps! с водой ребенка выплеснули
Глупости и враки. Автор сам себя убеждает (во что самому хочется верить), что защищаться от парсинга дорого, сложно, невозможно, а парсинг это легально.
Что ж ... пусть попробует рядом с ИНН разместить прайс на свои услуги со стоимостью парсинга соцсетей на предмет фото, имени и фамилии. Бег, знаете, тоже легален. Бег с место преступления - уже другое.
По поводу невозможности защиты. Пусть пропарсит любой поиковик. Посмотрим, разрешит ли ему поисковик бесплатно пользоваться своим сервисом. Упоминание iHerb говорит лишь о том, что нечем, кроме парсинга цен местечковых магазинов автор не занимается.
По поводу дороговизны. За $25 в месяц cloudflare отрежет всяких "парсеров цен конкурентов". Я не говорю про конфиги для веб серверов, которые отрежут очевидный треш вообще бесплатно.
вы не правы. мы парсим сайты за cloud. но cloud увы увеличивает задержку сайта. если не верите - погуглите how to bypasss cloudflare
бро может пропустил, автор сразу сказал про скорость + в эту стоимость осталось за скобками. Больше проксей и все скорость сразу возрастает. Только будет уже не рентабельно - финдир не пропустит))
он же скорее и финдир / фирма небольшая у него.
Вор рассказывает, что решетки на окнах лишяя трата времени и денег
как можно своровать публично доступную информацию? А если я зашел на сайт магазина и построчно скопировал наименование товаров и цены в Excel мне тоже сразу в прокуратуру сдаваться идти?
Статья интересная, я даже скача... спарсил её
А можно все данные и весь сайт сделать большой картинкой)))
На флеше 😂
В общем вот, держи
Если начать заменять элементы на canvas, а с условным текстом сделать это не сложно, то кажется парсинг в текущем виде очень усложнится
1) Чтобы нарисовать текст на канвасе нужно его предварительно получить с бэка. Взаимодействие с беком идет как правило перекидыванием JSON'ов. Опа, вместо усложнения мы предоставили готовую апишку. 2) Поисковики не смогли распарсить canvas - сайт пропал из выдачи.
Полностью защититься никак, а вот сделать так, что экономически это стало не выгодно вполне.
Комментарий удален модератором
Подробнее
да. но если это не помешает клиентам обычным
Комментарий удален модератором
У Девиантарта такое есть. Но поскольку ресурс должен оправдывать своё название, ID айтема он отдаёт только по запросу всех списков работ автора (пока не долистаешь), так что нагрузка в больших галереях может быть как бы не больше, чем если тупо страницу сгрузить и распарсить.
Спасибо. Увлекательное погружение в ранее проходившую мимо меня область
Ещё можно обнаруженным парсерам отдавать не 403, а неактуальные / фейковые данные, дискредитируя таким образом компанию, перепродающую чужие данные.
Комментарий недоступен
За очень много денег скачаю для вас архив с https://dumps.wikimedia.org одним кликом
Комментарий недоступен
Гугл капча в принципе неплохо борется с этим, может еще что-то от гугла - они детектят например, Selenium(это обходится, но тем не менее).
Я это к чему - гугл спокойно мог бы например, если еще не, проверять движения курсора перед тем, как происходит запрос, что они соответствуют обычному поведению пользователю, смотреть время между запросами(да и вообще, мне надо скачать 100000 записей, у нас типа разные ip, то, получается, с каких-то ip будут приходить запросы типа &offset=400 - подозрительно, обычный человек кликает по порядку), ещё какие-то паттерны.
Т.е. внедрить защиту от парсинга мне кажется сильно проще, чем кажется, уже существуют готовые решения, большинству сайтов просто особо не надо.
На самом деле сделать хорошую защиту от парсинга, не мешающую обычным клиентам - довольно сложно.
Комментарий недоступен
За последние несколько лет учавствовал во многих проектах по парсингу.
(хотел было написать примеры но чтото срашно стало, по объему они больше iherb на порядки).
И первая мысль после прочтения начала статьи - а зачем Вы демпингуете?
16000 за ихерб да еще и на скорость/время?
Влом анализировать но там явно мудреный JS + какая то защита от парсинга.
Что такое 16000 - это з/п миддла в день с учетом налогов по ТК.
Но опять таки если мидл работает в такой у Вас запаре что он за день пишет парсер для ихерба, то он быстро выгорит.
Я бы отвел на такой проект 1-2 дня попробовать защиту, придумать структуру хранения. и еще 1-2 дня на написание и чистовой релиз.
Но как раз на финальном этап при масштабировании можно на умную защиту и налететь, когда админ на той стороне видит Ваш трафик и начинает за вами охоту.
А одни прокси чего стоят - хорошие не менее вроде 200руб за штуку в мес.
А их надо бывает и 1000 и более.
Да еще и бабки возвращать решили/договорились. Всегда брал почасовку без гарантии результата + 20% предоплаты чисто на исследование проблемы.
Мобильный прокси с ротацией ip раз в 10 мин стоят от 500 руб в мес. Приватные мобильные прокси с ротацией ip по api стоят от 1500 в месяц. В рунете траф анлим. В бурже прокси дороже на порядки.
Проси фермы с модемами хаувей уже прошлый век. Переходите на модемы с агрегацией частот(фибоком) у них скорость в разы выше.
а можно ссылку почитать? Спасибо
Убедили )
Нет )
Борьба парсингом не только для защиты контента, но защита от паразитной нагрузки.
Автор прав, что от парсинга невозможно защитится на 100%. Все способы защиты "временные" и обходятся от 1 часа до пары недель. Те кто по ту сторону парсинга (защищают сайты) знают об этом, и мыслят не "запретом парсинга", а стараются сделать парсинг максимально дорогим.
Я был по обе стороны баррикад, и знаю, что ежемесячно затраты на команду и инфраструктуру могут обходиться в миллионы рублей (у кого-то и в десятки миллионов).
Себестоимость парсинга высокая и продолжает рости из-за того, что всё больше сайтов используют защиту.
В итоге вы никогда не распарсите за приемлемое время крупный сайт за 14 000 рублей. Для окупаемости нужно результаты парсинга одного сайта продавать сразу нескольким клиентам, а также иметь достаточно клиентов, чтобы окупать инфраструктуру.
В итоге парсинг доступен только большим игрокам, которые стараются быть незаметными и не создавать нагрузки на сайт.
Итого: защита от парсинга на самом деле нужна, как дополнение к защите от DDoS, чтобы срезать трафик, который создаёт нагрузку на сайт, а также защищаться от слива маркетинговых бюджетов защищая формы от всяких SMSBomber'ов и прочего.
Так что скажите спасибо вашим коллегами по цеху за то, что вам приходится нести ежедневные затраты на обход защиты.
"Продавать результаты парсинга" нелегально во всех странах мира без исключения.
Сам по себе парсинг, кое где, легален, при условии если результаты используются легальным образом. А вот продажа результатов парсинга - это нелегальная деятельность абсолютно везде. Даже в Северной Корее и Саудовской Аравии (притом что в СА очень специфическое зак-во по IP)
Смело
В бан агента, а пулл ip в чс.
Комментарий недоступен
Вспомним классику https://stackoverflow.com/a/1732454/283822 =)
Хотя чисто теоретически есть определеное пространство для маневра в легальной плоскости при организации парсинга (по крайней мере в США есть, и это очень важно, хотя в большинстве других цивилизванных стран все сложно), тем не менее именно такая работа как у автора - Абсолютно нелегальна.
Автор сам собирает copyright protected контент и передает его заказчику.
Это чистая уголовщина, и само по себе, и разработка ПО для этой цели. Причем в любой юрисдикции.
Чтобы это выглядело более-менее легально, вы должны не продавать сам контент, а только ПО для его сбора. При этом в договоре обязательно указывать что пользователь ПО не имеет права перепродавать собранный контент (а имеет право использовать только в образовательных и других не запрещенных законом целях). Даже и так это будет легально сильно не везде.
1. а наименование товара и его цена copyright protected?
2. к тому же контент не перепубликуют, а анализируют. Например, если я сделал скриншот страницы, а потом вечером лег на диване и стал изучать- на меня уже можно завести дело?
лол бред )
если овнеры блочат ботов - значит это для чего-то нужно.
опять-таки, таких охотников за "новым золотом" завались, и наибольший геморой это как раз быть уверенным что они не тебя не повалят, а уж необходимость добавлять серваки при активном скрапинге - это чистый убыток бизнесу.
пупкин при этом парсит, или нгуен, или ли, роли не играет. есть малочисленные известные ребята - поисковики и прочее, а есть ноунейм боты, паразитирующие на твоем контенте. сами же говорите что базы продаете. отчисления овнерам при этом платите? нет конечно, ну так и нахер им это надо.
Возвести идею парсинга во благо конечн талант) По факту 100% защититься от него никак не получится, т.к отфильтровывать ботов сейчас не под силу даже яндексу (привет накрутка пф)
для кого?
Парсинг - не белый и пушистый. Я понимаю кто-то занимается мониторингом цен конкурентов. Но кто-то наполняет свой сайт ворованными описаниями и фотографиями. Кто-то возразит, всё равно фотографии и описания есть на сайтах производителей товара. Но кто-то провел работу, привел данные к единому формату, образмерил картинки. Если я ничего не забыл, то патентное право защищает базы данных, со времен телефонных справочных книг защищает. Вроде вся информация в телефонном справочнике открытая, но ты попробуй собери её.
Автор, вы воруете чужой контент? Сколько у вас было заказов на воровство за прошлый год?
Иван, в основном запросы на мониторинг цен, 90%. или больше
так это уже не парсинг, а публикация чужого контента. Можно в суд подавать.
Если бытовую аналогию привести:
- Кухонные ножи незаменимая и удобная в быту вещь
-Что за бред??!! Ими столько людей убивают
Комментарий удален модератором
Все нормально. Вот почта россии заблокировала нам доступ к апи и теперь мы парсим сайт притворяясь юзером. Сделали они это якобы из-за недостатка ресурсов на серверах. Ха-ха.
Интересно, а что там парсить на сайте пр?
Комментарий удален модератором
У вас на сайте есть утверждение, что вы отделяете ботов от людей для борьбы со скликиванием.
Почему нельзя вашу же наработку использовать против парсеров?
Можно но цели разные. Абсолютно
"...Парсинг сайтов — что это? Зло для владельцев сайтов или полезный инструмент для бизнеса. Скорее второе, ведь без кропотливого сбора данных не обходится ни один глубокий анализ конкурентов. Парсинг помогает ускорить процесс, снять с человека нагрузку бесконечной рутинной работы и избежать ошибок, вызванных переутомлением.
Использовать парсинг — абсолютно законно, особенно если знать все сопутствующие нюансы. А возможности этого инструмента практически безграничны. Спарсить можно почти всё — нужно только знать как..."
Максим+! )))
Как же ты заел
Комментарий удален модератором
Комментарий удален модератором
Картинки на сайте обрежьте по размеру, чтоб они не были такими мутными из-за масштабирования
да знаем. в планах изменить. самому не нравится
А разве парсинг это не скачивание клиентской базы?
И если да, то разве это легально?
Клиентскую базу не найдешь в открытом доступе
нет, это "просмотр-сохранение"
Легально.
Интересно было-бы услышать из-за чего конкретно у вас это не получилось.
Надо было много и быстро в ограниченном бюджете . Если бы мало и медленно - осилили Бы
Интересная статья - заставляет задуматься о полезности парсинга
Упростим. В войне парсеров и антипарсеров проигрывает пользователь. А кто первый начал? - Парсеры. Значит они плохие.
Да вообще, парсинг закреплён 29 статьей Конституции, и все кто против - против Конституции и должны либо отправится на фронт, либо в тюрьму. Все )
Комментарий недоступен
Комментарий удален модератором
Комментарий удален модератором
Комментарий удален модератором
Комментарий удален модератором
Комментарий удален модератором
Скоро конец вашему парсингу. Большинство сайтов будет как iherb и вам это не изменить. Зло в лице вашей конторы будет побеждено.
что такое добро и зло известно лишь Богу
Комментарий удален модератором