Не защищайте сайт от скрапинга: сопротивление бесполезно

https://medium.com/@gajus/do-not-protect-your-website-from-scraping-part-1-technology-barriers-b0ced398d16d
  • Перевод
За последнее десятилетие я реализовал много проектов, связанных с агрегацией и анализом контента. Часто агрегация включает в себя снятие данных со сторонних сайтов, то есть скрапинг. Хотя я стараюсь избегать этого термина. Он превратился в некий ярлык, с которым связано много заблуждений. Основное заблуждение в том, что веб-скрапинг можно заблокировать с помощью X, Y, Z.

tl; dr; Нельзя.

С точки зрения бизнеса


На прошлой неделе я встретился с высокопоставленным руководителем из отрасли, в которой развиваю свой бизнес GO2CINEMA. Без сомнения, это один из самых умных и знающих людей в киноиндустрии.

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

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

Да, тщательное исследование. Но всё-таки есть способы, чтобы тебя заблокировать. *ухмыляется*

Нет, парень, нет таких способов.

Реальные пользователи не отличаются от ботов


У людей, далёких от IT, присутствует эдакое идеализированное представление о программировании как в компьютерных играх 80-х — вы надеваете шлем виртуальной реальности и погружаетесь в Сеть. На самом деле вся информация и все взаимодействия — это нули и единицы. Здесь нет ничего человеческого. Нет различия между данными, введёнными компьютером или человеком.


Инспектирование веб-трафика

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

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

Технические контрмеры


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

Блокировка юзер-агента


Каждый HTTP-запрос содержит HTTP-заголовки, в том числе юзер-агент — идентификатор HTTP-клиента. Поэтому кинотеатр может идентифицировать ботов по информации из заголовков HTTP — и блокировать их.

Решение: поддельные заголовки HTTP для имитации реальных пользователей.

Пример: боты GO2CINEMA используют заголовки HTTP, которые имитируют реальные пользовательские сессии (например, в браузере Google Chrome). Заголовки HTTP рандомизируются между сеансами скрапинга.

Вывод: невозможно заблокировать ботов GO2CINEMA, используя отправленные клиентом HTTP-метаданные, такие как HTTP-заголовки, не блокируя реальных пользователей.

Блокировка IP-адресов


Кинотеатр может попытаться определить и заблокировать IP-адреса ботов GO2CINEMA.

Решение: «поддельные» IP-адреса (использование прокси).


Массовая идентификация

Пример:

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

  1. Рандомизация IP-адресов.
  2. Выделение IP-адресов, которые географически как можно ближе к кинотеатру.
  3. Сохранение выделенного IP-адреса на время сеанса скрапинга.
  4. Пул прокси меняется каждые 24 часа.

Стоит отметить, что в текущей установке есть один недостаток: IP-адреса (прокси) зарегистрированы на различные дата-центры, а не на домашние адреса, как у реальных людей. Теоретически, кинотеатр может получить список подсетей всех дата-центров Великобритании — и заблокировать их. Это успешно заблокирует ботов в текущих настройках. Однако:

  1. Это потребует затрат. Например, такие услуги предоставляют MaxMind (база c IP-адресами анонимайзеров, прокси и VPN, цена не разглашается) и Blocked ($12 000 в год).
  2. Это может привести к блокировке реальных пользователей.

Netflix — пример провайдера, который блокирует IP-адреса известных VPN и прокси.

Если кинотеатры начнут блокировать IP-адреса дата-центров, придётся использовать IP домашних пользователей через прокси домашних адресов вроде Luminati. У такого подхода два недостатка:

  1. Стоимость (наш текущий трафик обойдётся в 1000 фунтов стерлингов в месяц).
  2. Надёжность. Работоспособность и скорость прокси домашних адресов сложно предсказать.

Некоторые кинотеатры уже пытались заблокировать IP-адреса нашего бота. Источник сообщил нам что кинотеатр X думает (или, по крайней мере, думал), что успешно заблокировал наши IP-адреса. Но это не так. Активность бота GO2CINEMA не прекращалась. Похоже, что кинотеатр X заблокировал кого-то другого, кто собирал такие же данные.

Важно подчеркнуть, что теоретически можно различить HTTP-запросы людей и ботов по шаблонам сёрфинга (см. раздел «Невидимая капча»). Но будет очень трудно определить HTTP-запросы именно от ботов GO2CINEMA (по причинам, указанным в разделе «Блокировка юзер-агента»).

Вывод: крайне трудно заблокировать ботов GO2CINEMA по чёрному списку IP-адресов, потому что 1) крайне трудно идентифицировать ботов и 2) у нас есть доступ большому количеству IP-адресов дата-центров и домашних пользователей.

Блокировка по IP не помешает нашим ботам продолжать скрапинг сайтов кинотеатров.

Использование капчи


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

Решение: API для решения капчи.


Полностью автоматизированный публичный тест Тьюринга для различения компьютеров и людей (CAPTCHA)

Капча только добавит неудобств обычным пользователям. Все методы капчи (в том числе для reCAPTCHA от Google ) легко обходятся с помощью сторонних сервисов вроде 2Captcha. В этих сервисах реальные люди решают задачи, поставленные перед нашим ботом. Стоимость услуг минимальна (например, 2 фунта за 1000 задач).

Вывод: добавление капчи не помешает нашим ботам продолжать скрапинг кинотеатров.

Невидимая капча


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

Невидимая капча использует комбинацию различных переменных для оценки вероятности того, что взаимодействия конкретного клиента автоматизированы. Нет единого рецепта, как это реализовать. Различные провайдеры используют разные параметры для профилирования пользователей. Эта услуга предоставляется некоторыми CDN (например, Cloudflare) и традиционными провайдерами капчи, как Google reCAPTCHA.

По словам бывшего руководителя отдела Google по распознаванию кликфрода Шумана Гоземаджумдера, эта возможность «создаёт новый тип проблем, которые очень продвинутые боты по-прежнему могут обойти, но порождает гораздо меньше сложностей для реального человека».

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

Проверка электронной почты


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

Решение: одноразовые «ящики».


Сейчас я просто добавляю в статью картинки, потому что мне нравится автор — Kidmograph

Пример:

Сейчас кинотеатры уже требуют наличия адреса электронной почты для покупки билета. GO2CINEMA использует доменное имя go2cinema.mail для подтверждения бронирования. Для каждой транзакции создаётся новый адрес электронной почты (например, john1@go2cinema.mail). Письма, отправленные на сгенерированные ящики, недоступны пользователям GO2CINEMA.

Текущий подход имеет преимущества:

  1. Ограничивает возможности кинотеатров отслеживать индивидуальную активность пользователей.
  2. Мешает кинотеатрам рассылать маркетинговые письма нашим пользователям.

Недостаток в том, что кинотеатры могут легко идентифицировать и блокировать транзакции сервиса.

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

  1. Купить оптом тысячи дешевых доменов.
  2. Использовать любую из существующих служб, предоставляющих временные адреса электронной почты (например, Mailinator).
  3. Создавать временные почтовые ящики у существующих крупных провайдеров (Yahoo, Gmail и т. д.).
  4. Выдать реальные адреса пользователей.

Вывод: проверка электронной почты не помешает нашим ботам продолжать скрапинг кинотеатров.

Мобильная проверка


Кинотеатр может потребовать от пользователя предоставить действительный номер мобильного телефона для завершения транзакции.

Решение: одноразовые мобильные номера.

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

В отличие от временных адресов электронной почты, виртуальный телефонный номер стоит относительно дорого (например, 1 фунт в месяц за номер).

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

  1. Стоимость SMS верификации.
  2. Потеря клиентов, у которых нет номера мобильного телефона или которые не желают им делиться.
  3. Сокращение диалога бронирования с точки зрения продукта (из практики это общее наблюдение, особенно в электронной коммерции).

Будет крайне экстремальным и беспрецедентным случаем, если кинотеатр пойдёт на такое.

Вывод: мобильная верификация не помешает нашим ботам продолжать скрапинг кинотеатров.

Блокирующий BIN


Кинотеатр может заблокировать наш банковский идентификационный номер (BIN).

Решение: подать в суд или выпустить карты в обычном банке (например, Barclays).

Пример:

GO2CINEMA использует для покупки билетов виртуальные дебетовые карты. Для каждого пользователя эмитируется виртуальная карта MasterCard через сервис Entropay. Entropay работает как банк, т. е. все его карты начинаются с BIN 522093. Теоретически, кинотеатр может заблокировать этот BIN.

Но блокировка BIN нарушит договор с платёжным шлюзом. Каждый такой договор включает правило по принятию любых карт. В случае с MasterCard эта политика указана в пункте правил 5.10.1:

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

По той же технической причине кинотеатры не могут заблокировать MoviePass в США:

«Мы полностью соблюдаем правила MasterCard, и AMC подписала соглашения как с их процессинговой компанией, так и с MasterCard. Чтобы заблокировать нас, они по сути должны отказаться от приёма MasterCard». — источник

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

Вывод: блокировка BIN не помешает нашим ботам продолжать скрапинг кинотеатров.

Изменение структуры сайта


Кинотеатр может без предупреждения изменить структуру сайта.

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

Если предположить, что наш скрапер зависит от структуры веб-сайта, то:

  • Изменения структуры сайта происходят редко.
  • Это не сильно отличается от изменений API.
  • Наши системы уведомят, как только это произойдёт.
  • Это повлияет также на реальных пользователей.

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

Защита API с помощью ключа API


Другой бизнесмен (владелец кинотеатра) предположил, что кинотеатр может заблокировать GO2CINEMA, ограничив доступ к API с помощью ключа API.

Он: Кинотеатр может просто обновить свой API, чтобы требовать ключ API.
Я: Какой API?
Он: API для доступа к кинопоказам.
Я: Эта информация опубликована на сайте?
Он: Да.
Я: Тогда клиент браузера должен иметь доступ к этому API для просмотра контента на сайте.

На этом конкретном сайте, который он привёл в качестве примера, ключ API был жёстко прописан в исходном коде.

Вывод: ограничение доступа к API с помощью ключа API не является эффективной стратегией для ограничения скрапинга, если это открытый API.

Резюме


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

Стоит подчеркнуть, что хотя ни один из этих методов не блокирует ботов, внедрение некоторых или всех этих механизмов дорого обойдётся кинотеатру с точки зрения 1) стоимости технической разработки и 2) неудобств для реальных пользователей.

Блокировка 98% скраперов


Хотя нельзя заблокировать все скраперы, но вы можете помешать или заблокировать большинство из них, используя комбинацию вышеуказанных методов.

Стоит ли это ваших усилий? Ответ зависит от следующих факторов:

  • Какое влияние оказывают боты скраперов на ваш сайт/бизнес?
  • Повлияет ли это на реальных пользователей?

Чаще всего ответ заключается в том, что оно того не стоит.

Юридические препоны


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

Короткий ответ: нет (или крайне маловероятно, трудно и займёт много лет).

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

Заключительные замечания


Похоже, что многие читатели решили, что мы развязали технологическую войну с кинотеатрами (см. комментарии Reddit). Это не так.

За исключением слухов о попытке кинотеатра X заблокировать наши IP-адреса (упомянутые в разделе «Блокировка IP-адресов»), ни один кинотеатр не пытался нас заблокировать, используя какой-то из перечисленных методов. Цель этой статьи — поделиться кратким описанием сценариев «что, если», подготовленных как резервный план в рамках привлечения венчурного финансирования.

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

Если вы собираетесь скрапить чужой контент, сначала спросите у владельца сайта, если ли у него API. Это сэкономит время и деньги вам и владельцу сайта.
Поделиться публикацией
Ой, у вас баннер убежал!

Ну, и что?
Реклама
Комментарии 202
  • 0
    Все верно на самом деле. Кроме проблем связанных с защитой сайтов от скраппинга — есть и еще одна проблема: если контент на сайте вкусный, то боты которые используются для скраппинга — будут создавать дополнительную нагрузку. Мне кажется что идеальным решением этого всего было бы — просто забить и предоставлять бесплатное легковесное API для сбора содержимого с сайта.
    • +2
      просто забить и предоставлять бесплатное легковесное API

      то, есть, дать возможность любому человеку создать легитимный клон сайта, и смириться с мыслью, что он может стать выше в поисковой выдаче, чем оригинал?
      • 0
        Если вы предоставляете сверх — уникальный контент — то вариантов тут много: от выпуска своего сайта на CD — дисках, то закрытия вкусной инфы за логином паролем и на платной основе. Любой человек который хочет создать легитимный клон вашего сайта — может это сделать и без скрэппинга — тупым копипастом.
    • +6
      Статья звучит из разряда даже не пытайтесь нас блокировать у вас не выйдет. Честно я не знаю зачем вас кому то блокировать, мне только раз доводилось блокировать ботов уж очень большую нагрузку они создавали. Но вместо блокировки я им подпихивал просто левый контент, который не грузил проц на сервере, но заставлял бота лазить по миллионам левых ссылок и не получать нужную ему информацию.
      А так вопрос хватит ли у вас сил заниматься каждым сайтом в отдельности, или проще будет забить на парочку вредных?
      • +1

        И гугло-яндекс-боты соответственно понижали вас поисковой выдаче =)

        • +6
          Во первых там было совершенно наплевать на выдачу. А во вторых блокировался конкретный бот, который был явно не гугол и не яндекс, и игнорил файл robots.txt Но у него было предсказуемое поведение, и в общем 5-7 дней потыкавшись и накачав всякого хлама он пропал и больше не возвращался.
          • 0

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

          • 0
            И гугло-яндекс-боты соответственно понижали вас поисковой выдаче =)
            Да с чего бы вдруг? Вообще не вижу никакой связи. У нас был аналогичный и, по моему, единственный случай — набегал бот с User-Agent: WebIndex, создавал большую нагрузку и был заблокирован только из за этого. Остальных ботов это никак не коснулось, пусть сканят на здоровье.
            • 0

              Такой подход понятен, но вместо того чтобы блокировать более оптимальные пусть и более затратные способы это тротлинг или CDN+cache.


              В первом случае говорим что мол из вашей сети подозрительные запросы — введите капчу
              Во втором не паримся и просто ставим тот же Cloudflare

              • 0
                более оптимальные
                Понятие оптимальности не является универсальным. В вашем случае это могут быть оптимальные способы, в моём — они совершенно не подходят.
          • +1

            А если еще попробовать отдавать зип-бомбы ботам, станет совсем весело..

            • –1
              В 21 веке знают, как оценить уровень компрессии архива.
          • +4
            Ничего нового. Вся статья умещается в словосочетание «Цена вопроса». Но статья очень полезна, что-бы давать на неё ссылку людям далёким от IT.
            • 0
              Именно. И автор почему-то обходит стороной вопрос. В спортивных целях взломать можно всё, это гонка вооружений, проблема щита и меча — но вопрос именно в том и состоит, можно ли сделать так, чтобы технически сделать цену скрапинга больше, чем стоимость информации и сам скрапинг стал невыгоден.
            • +5
              Расскажите как боты будут обходить изменение структуры разметки данных при каждом обновлении страницы? Сборка в читаемый вид только средствами ксс. Можно бить текстовый контент хоть в середине слова или по 3 буквы. Вообще любую такую защиту можно обойти толпой живых людей, которые сидят и целый день перепечатывают текст. Задача не сделать невозможным, а сделать экономически невыгодным.
              • +4
                Навскидку сразу приходит на ум заход бота на сайт браузером, получение картинки страницы и распознавание текста и образов с картинки. Главный вопрос остается — какие выгоды и стоимость такого решения для сайта? Если выгода большая, то и для владельца ботов будет тоже выгодно обойти.
                • +1
                  На самом деле можно проще. Резрешить все CSS-правила и по итогу просто определить, что и где видно, а невидимое выкинуть. На выходе останутся текст, картинки и их расположение без привязки к структуре.
                  • +2
                    Главный вопрос остается — какие выгоды и стоимость такого решения для сайта?

                    Особенно порадуются пользователи которые будут видеть, то что предоставит им гугл, яндекс и тд на запрос об этом сайте )))
                    • +5
                      Пользователи как раз ничего не увидят, ибо не найдут :-)
                    • +1
                      Ок, а как такое решите, сделать весь текст на странице в виде каптчи.
                    • 0
                      А как же серверный вариант хрома?
                      • 0
                        Акссессабилити, кэширование и SEO будет на высоте)
                        • –2
                          SEO для интерфейса покупки билета? Вы собрались кешировать два килобайта текстовой информации? Аксесабилити тоже не причем, потому что для пользователя все будет так же как и в первый раз — визуально. Для бота все будет по другому.
                          Суть предлагаемого метода как раз в том, чтобы для пользователя все было так же как и всегда, для сердств которыми бот парсит страницу всегда по разному. И такое парсится только если известен алгоритм формирования страницы, или как сказано выше — скриншот и распознавание.
                          • +3
                            SEO для интерфейса покупки билета? Вы собрались кешировать два килобайта текстовой информации?
                            На киносеансах свет клином не сошелся. Как насчет фотоблогов, авторских статей и публичных интерфейсов баз данных? Боты бывают как плохие, так и вполне хорошие — поисковые. Как же специальная разметка для виджетов гугла и яндекса?
                            Аксесабилити тоже не причем, потому что для пользователя все будет так же как и в первый раз — визуально
                            Кажется, мы это слово трактуем по-разному. Если юзер пользуется скринридером, ему ваш CSS ни о чем не скажет, будет такая же семантическа каша, как и для бота.
                            • 0
                              Если юзер пользуется скринридером,
                              Видимо, слабовидящие для кинотеатра не так важны?
                              • 0
                                Слабовидящие и даже полностью незрячие играют в игрушки, в том числе в GTA и CounterStrike. Уверен, что и в кинотеатры они точно так же ходят.
                                • 0
                                  Скринридерами пользуются не только абсолютно слепые.
                                  И еще раз:
                                  На киносеансах свет клином не сошелся.
                          • +1
                            Я юзаю Selenium, а вообще если изменения структуры сильные (со сменой css и всего-всего), то это считай новый сайт, и тут ничего нового не придумаешь, кроме как адаптироваться к изменениям, правда обычно адаптация стоит сильно дешевле, чем изменения хозяину
                            • 0

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

                              • 0
                                В Beautifulsoup есть обратная рекурсия и ещё много чего, практически всё решается, ну а если совсем край то нейронки в помощ, ну и про Selenium не стоит забывать, Tor-сервера в docker-ах тоже помогает + управление на celery.
                                • 0
                                  Я делаю парсинг страниц через Selenium, то есть обычным Chrome браузером. Я могу заставить бота выделять текст мышкой, делать скрин конкретной области для распознавания и т.п. Если все жестко настолько, что пользователь даже не может мышкой скопировать название/информацию о фильме, это явно вызовет миллион проблем с версткой в различных браузерах/системах, и боты будут наименьшей проблемой.
                                  • 0
                                    Очень интересно. Какая у Вас производительность (url в секунду)? На какой по ресурсам машине работает?
                                    • 0
                                      Работает на VDS 2 гб RAM/CPU 2x2.2ГГц (потенциально Xeon) около 2-3 секунд на страницу в один поток (зависит от скорости канала больше чем от производительности системы). Можно отключить загрузку js/css, если это не задевает контент, тогда можно делать и 3-5 потоков, но в моем случае важно еще делать скрины (как оно на самом деле) и скорость важна в меньшей степени.
                                • +5
                                  А как насчет shadow-бана? Все описанные методы предполагают активные действия кинотеатров на присутствие ботов. А что, если боты и их создатели не будут видеть активного сопротивления и при этом получаемый контент будет «белым шумом» или не релевантным?
                                  • +1

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

                                    • 0
                                      скраппинг делается не ради фана, кто-то получает контент и анализирует, если будет что-то левое, менеджер это заметит и скажет разработчику о проблеме
                                      • +1
                                        А затем, если это выяснится, то будет претензия: почему клиент (который по факту бот, но это не имеет значения) купил билет, а он по факту не существует. Shadow ban можно применить только там, где нет оплаты товаров.
                                        • 0
                                          Разве боты покупают товары, услуги?
                                          • 0
                                            На сайте-агрегаторе купят. Первый абзац статьи. Так что если скормить такому сайту ложную информацию, то остается два выхода: либо рассказать ему, что такого билета нет и не было, либо продать несуществующий билет. Что не выбери, кинотеатр проигрывает. «Проигрывает», ха. Ему в любом случае ведь заплатят деньги.
                                            Вообще не могу понять этого: кинотеатру бесплатно предоставляют покупателей, а он пытается заблокировать деятельность агрегатора.
                                        • –8
                                          Написать весь фронт на реактивном фреймворке и не выдавать данные в DOM через рендер и удачи вашему боту еще можно в JS генерировать хэш ключ который будет сохранятся в header и отправляться на сервер, если данного ключа нет, то страница тупо даже не сгенирируется. Возможно есть обход подобной манипулации против ботов, но как минимум от большинства ботов это будет хороши решением.
                                          • +5
                                            Selenium WebDriver + PhantomJS решают эту проблему из коробки.
                                            • –3
                                              PhantomJS труп
                                              • 0
                                                SlimerJS – превосходная замена.
                                                • 0
                                                  PhantomJS отвалился потому что хром теперь нативно умеет в headless. Зачем продолжать сидеть на костылях?
                                                  • –1
                                                    PhantomJS отвалился потому что хром теперь нативно умеет...

                                                    Л — логика.
                                                    • 0
                                                      Т.е то что PhantomJS это по сути и есть headless chrome вас не смущает?
                                                      • +1
                                                        Первое правило инженера: «Работает — не трогай.»

                                                        Аргумент: «круче, потому что новый» — это несерьезно.
                                                    • 0

                                                      А headless chrome умеет все то, что умеет PhantomJS? Насколько я знаю — пока не умеет.


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


                                                      А уж про то, насколько удобна связка CasperJS + SlimerJS я и не говорю.

                                                • 0

                                                  Не потому что сама технология плоха, а только потому что есть нативный Chrome Headless.

                                                  • 0
                                                    Актуальные версии phantomjs практически не отличаются от браузера. Я юзаю его для prerender. Сейчас можно заменить на chrome. Я попробовал но пока отказался т.к. работает заметно медленнее
                                                    • 0

                                                      Возможно, я предпочитаю Google Headless, т.к. через какое-то время разработка фантома прекратится.

                                            • 0
                                              Phantom на страницу заходит выполняет джаваскрипт вроде return $scope (или любой другой источник данных) и получает все на блюдечке даже парсить не надо ничего.
                                            • 0
                                              смешно
                                            • –19

                                              Очень аргументированная статья. Прямо руки опускаются. Но вот вопрос.
                                              Сможет ли квалификация автора преодолеть наше изобретение
                                              СПОСОБ ИНТЕРАКТИВНОГО ТЕЛЕВИДЕНИЯ, ИСПОЛЬЗУЮЩИЙ ФОВЕАЦИОННЫЕ СВОЙСТВА ГЛАЗ ИНДИВИДУАЛЬНЫХ И ГРУППОВЫХ ПОЛЬЗОВАТЕЛЕЙ И ЗАЩИЩАЮЩИЙ ВИДЕОИНФОРМАЦИЮ ОТ НЕСАНКЦИОНИРОВАННОГО ДОСТУПА, РАСПРОСТРАНЕНИЯ И ИСПОЛЬЗОВАНИЯ
                                              Зарегистрированный в США. Патент 7950029


                                              https://patents.google.com/patent/US7950029


                                              и в России патент 2220514


                                              http://www1.fips.ru/fips_servl/fips_servlet?DB=RUPAT&rn=1189&DocNumber=2220514&TypeFile=html


                                              Может пора перейти на сторону защиты контента.

                                              • +4
                                                А надо ли обходить?

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

                                                Но вы защищайте, никто не против.
                                                • +1
                                                  Эм… вы предлагаете пользователям для покупки билетов в кинотеатр у себя веб-камеру включать? А содержимое сайта транслировать как видео-поток? :)
                                                  • 0

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


                                                    Дальше чем определить блокировать/не блокировать Пк или еще чего-то такое не взлетит.

                                                    • 0
                                                      Один смотрит с устройством, все остальные без.

                                                      Один смотрит с удовольствием, все остальные в комнате без.
                                                      Дополнительное оборудование — EYETRACKER уже кажется взлетело.
                                                      Немного присело до 100 долл. США за штуку, но сейчас временно поднялось до 300 долл.США за штуку.

                                                  • 0
                                                    А как Вы обходите защиту от ботов в стиле habrahabr.ru/post/139931?
                                                    Конечно можно запускать hedaless chrome но это же крайне медленно и затратно по ресурсам?
                                                    • +1
                                                      Сорри не заметил что это перевод. Все слишком по-нашему сделано.
                                                      • 0
                                                        Ага, особенно — фунты стерлингов, упоминаемые неоднократно )
                                                      • +1
                                                        Посыл статьи в том, что совершенствование защиты от скраперов на порядок дороже, чем совершенствование самого бота.

                                                        Если мы говорим об умных ботах, то брать headless chrome — это вообще самый разумный шаг. Это несложно (ставишь puppeteer и вперёд) и такого бота очень сложно отличить от реального пользователя chrome даже через Javascript, а со стороны веб-сервера тем более. То, что скорость и затраты RAM намного хуже, чем у тупых парсеров DOM — это приемлимые издержки.
                                                        • 0
                                                          Такого бота можно легко определить по обильному трафику.
                                                          В скрипт можно добавить медленную утечку памяти и какое нибудь тяжелое вычисление, которое будет грузить процессор, например майним крипту, если юзер превысит порог активности. Если вы бот который использует селениум и аналоги, то определить вас уже можно на клиентской стороне, по линкам вы ходите, а мышкой не двигате и прям на клиенте можно начать водить вас за нос.
                                                          Но будущее защиты от ботов, которое не за горами, за машинным обучением и тогда перевес будет на стороне защищающихся. МО отлично подходит для выявления паттернов поведения, но совсем не подходит для поиска новых путей обхода защиты.
                                                          • +2
                                                            Вот желаю вам самому активно пользоваться сайтом, который вам будет майнить крипту или тормозить систему после третьей открытой вкладки. МО тоже не панацея, у него будут ложные попадания. Страдать будут, например, подозрительные пользователи Adblock.
                                                            • 0
                                                              >Вот желаю вам самому активно пользоваться сайтом…
                                                              Только «если юзер превысит порог активности»
                                                              >МО тоже не панацея
                                                              Не панацея, но МО удешевит защиту и увеличит цену взлома.
                                                            • +2
                                                              Селениум позволяет имитировать перемещение курсора, если надо. Просто будет сделан еще один виток борьбы брони и снаряда.
                                                              Паттерны поведения также будут сымитированы.
                                                              Боюсь, даже отдача контента только подтвердившим свою учетку на госуслугах (и фига всем остальным) не спасет :-)
                                                              • 0
                                                                «Просто будет сделан еще один виток борьбы брони и снаряда. „
                                                                Да. И можно навскидку еще несколько витков накрутить. Поэтому “сопротивление бесполезно», это открытый вопрос. И победит не тот, кто взламывает и не тот, кто защищает, а тот настырней.
                                                                • 0
                                                                  И победит не тот, кто взламывает и не тот, кто защищает, а тот настырней.
                                                                  Зависит от определения победы.
                                                              • 0
                                                                Превышения порога активности не будет если использовать прокси. Про отсутствие движения мыши вы так всех слепых пользователей забаните тоже.
                                                          • +5
                                                            Заблокировать нельзя, но можно увеличить цену сканирования до того момента, когда это станет не рентабельным.
                                                            • 0
                                                              Еще ботов можно выявлять и банить по их поведению на сайте, если подстраивать под паттерн человека — сбор данных будет очень медленный. А вообще, конечно, нет смысла в защитах — если надо все равно утащат, уж лучше, правда, отдельное API для них сделать (может даже за маленькую денюжку, зато с гарантированным интерфейсом), чтобы хоть сайт не валили.
                                                              • 0
                                                                если подстраивать под паттерн человека — сбор данных будет очень медленный

                                                                Или очень распараллеленный
                                                              • +1

                                                                Хм. Не ставьте замки на двери вашей квартиры, домушник всё-равно вскроет любой.

                                                                • 0
                                                                  Неверная аналогия. Аналог квартиры с замком на двери — приватный сайт, доступный ограниченному кругу лиц. А в статье рассматривается сайт для неограниченного круга лиц…
                                                                  • +1

                                                                    По-моему, вполне верная, но если вам так угодно, — не ставьте замки на двери музея с Джокондой, воры всё-равно вскроют любой…

                                                                • 0
                                                                  Этда, аналогия некоррекна. Корректной будет: не ставьте двух ментов около скамейки в парке, просто сделайте ее попрочнее, но без фанатизма. Скамейку с ментами не своруют и не поломают, зато под ментовским надзором и целующихся парочек (ради которых, собственно, все эти архитектурные фурнитуры и инсталлируются) в живописном уголке парка не будет.
                                                                  • –3
                                                                    Полиция и законы в принципе не нужны, потому что преступления все равно будут происходить.
                                                                    И, неожиданно, какие-то законы действительно мешают жить обычным людям.
                                                                • 0
                                                                  Касаемо юридической стороны, в США дошедшие до суда прецеденты скрапинга чаще разрешались в пользу истца (т.е. владельца сайта). Там невозможно скрапить facebook например. Что-то в этом кажется мне противоречивым — ведь данные открыты для любого юзера сети, т.е. через мой браузер я легко могу эти данные получить. Что изменится, если я буду использовать скрипт, который ровно как и браузер скопирует эти данные в RAM моего компьютера.
                                                                  • +1
                                                                    Коммерческая выгода? (конкуренция с «жертвой» и тому подобное)
                                                                    Сдается мне, что здесь определяющим фактором является мотивация, а не инструмент.
                                                                    • 0
                                                                      А почему это не может быть честной конкуренцией?
                                                                      • +1
                                                                        Переманивание юзеров тыренным контентом? Ну так себе.
                                                                        • 0
                                                                          Мне видится разница между тырить авторский контент (статьи, видео, аудио) и просто список событий где/когда/стоимость. Авиасейлс вам в пример.
                                                                          Более того, не всегда скрапинг осуществляется ради копипаста. Бывает «тыренный» контент проходит обработку и уже полученные данные (например статистич. метрики) располагаются на сайте скрапера. Вы тоже это расцените как «тырить контент»? А гугл/яндекс получается тоже контент тырят?
                                                                          • +1
                                                                            Мне видится разница между тырить авторский контент (статьи, видео, аудио) и просто список событий где/когда/стоимость.
                                                                            Элементарно аудитория скорее предпочтет пользоваться агрегатором, чем ползать по десятку сайтов. То есть такой копипастинг напрямую наносит ущерб сайтам-источникам.

                                                                            Бывает «тыренный» контент проходит обработку и уже полученные данные (например статистич. метрики) располагаются на сайте скрапера.
                                                                            То есть уже не копипастинг, а самодельный контент по мотивам, да еще наверняка со ссылкой на оригинал. Тут вряд ли есть конкуренция, а возможно даже наоборот — партнерство и PR.
                                                                            Но подобным разделением мух от котлет как раз и занимаются суды.
                                                                            • 0
                                                                              Ок. Ваша мысль ясна. А что насчет сбора данных из фейсбука, допустим на предмет упоминания каких-то ключевых слов, как это делают сервисы youscan, iqbuzz, крибрум и тд? Это нарушает чьи-то права?
                                                                              • 0
                                                                                Как-то тут часто упоминают фейсбук) Не встречал еще проекты, которые с помощью скрапинга пытались бы конкурировать с крупными социальными сетями в их бизнесе. Если такой цели не стоит, то о конкуренции вроде как речи не идет.
                                                                                Но тут тонкие моменты насчет персональных данных (например, сбор данных с закрытых для роботов профилей), так что не буду ручаться. Нужно читать их договора о приватности.
                                                                                • –1
                                                                                  Ну фейсбук упоминается в свете всё еще неутихающего скандала.
                                                                                  Ну в этом случае на наличии конкуренции с фб я внимание не заостряю — тут ее похоже нет. А вот касаемо договора о приватности в фб — интересует насколько он что-то решает при условии, что его контент виден без регистрации.
                                                                                  • 0
                                                                                    То, что видно — не означает, что это можно собирать автоматизированно и использовать для коммерческой выгоды.
                                                                  • 0
                                                                    Сайты, сделанные на Adobe Flash или MS Silverlight, наверняка добавляли головной боли разработчикам ботов. Но это уже в прошлом.
                                                                    • 0
                                                                      могу ошибаться, но в будущем ведь WebAssembly придет. Или там все равно html останется?
                                                                      • 0
                                                                        WebAssembly будем дезассемблировать=))
                                                                        • 0
                                                                          WebAssembly все равно будет преобразован в человеко-читаемый формат…
                                                                          • 0
                                                                            WebAssembly + средства запутывания кода уровня VMProtect'а + отрисовка на Canvas (также как это OnlyOffice делает, им это позволяет шикарный веб-редактор документов сделать, намного лучше всех других) или вообще через WebGL.
                                                                            Правда поисковики тоже не найдут и все равно можно парсить — пусть и придется OCR прикручивать.
                                                                            • 0
                                                                              Упоминая такие технологии все забывают что какая бы технология для рендеринга данных не использовалась — это только рендер — данные в любом случае приезжают от сервера в формате который можно преобразовать в текстовый и отпарсить. Всё зависит только от суммы в $ которую придётся потратить на преобразование данных.
                                                                              • 0
                                                                                Кто может и забывает но не я. Есть опыт по парсингу в том числе например целлюлозы. Да, проблема решается. Но надо писать специальный скрипт для Selenium а потом несколько часов заниматься сексом с FineReader'ом чтобы из картинок получить нормальный читабельный текст (целлюлоза не то что картинки использует — они (для некоторых книг) еще и шум любят добавлять туда(!)).
                                                                                • 0
                                                                                  Всякие pdf и картинки лучше всего парсить с помощью машин лёрнинга, но натренировать сеть конечно очень непросто, ну и вообще это довольно сложная задача.
                                                                                • 0
                                                                                  Всё зависит только от суммы в $ которую придётся потратить на преобразование данных.

                                                                                  Еще вопрос в SLA. Скажем, есть бизнес, полностью завязанный на парсинг некого портала, а точнее его бинарного протокола. И вдруг этот портал выкатывает новую версию бинарного протокола. Даже, если $ не проблема в принципе, то сколько потребуется дней, чтобы восстановить работоспособность? А ведь это простой бизнеса. И к затратам на парсинг добавляем затраты на простой и репутационные потери.
                                                                                  • +1
                                                                                    Очень странный такой бизнес, где стоит сложная система — которая зависит от одного ненадёжного источника. Наверное в таком случае нужно иметь возможность парсить как и сырые данные так и отрендеренную страницу. Вообще такое часто случается что разработчики сайтов внезапно меняют разметку и парсер нужно допиливать под реалии. У нас есть клиент у которого скрапятся 200+ магазинов, и вот раз в месяц 20%+ меняют селекторы или js библиотеки(которые меняют селекторы на страницах) и это приходится фиксить. Причем изменения могут быть минимальны, и создается впечатление что они это делают от того что им нечем занятся.
                                                                                    • –1

                                                                                      Никогда не ходите в море с двумя хронометрами. Берите один или три ;-)

                                                                                      • 0
                                                                                        У нас есть клиент у которого скрапятся 200+ магазинов, и вот раз в месяц 20%+ меняют селекторы или js библиотеки(которые меняют селекторы на страницах)

                                                                                        Отличная статистика. Ко мне иногда обращаются с задачами по парсингу. При этом мои опасения воспринимаются примерно так: больной все время рвется проверять валидность верстки, какие-то измененные селекторы. При их этом аргумент что такое может произойти ну раз в год на пару сайтов. Я не против парсинга как такового. Но если заказчик адекватно понимает что это не один раз заплатил за черный ящик, а постоянная работа (не доработка и исправление «ваших багов») плюс для прайс-агрегаторов еще штат операторов которые будут сверять номенклатуру, заводить описания товаров (если это прайс-агрегатор на те же 200 магазинов).
                                                                                        • 0
                                                                                          По-моему если клиент сознательно выбирает плохой вариант, приводящий к дополнительным заказам (и оплате) вам в будущем, уговаривать его такое не делать незачем. Предупредить — да, если разумный человек то поймёт и согласится, а если нет — пусть платит как хотел.
                                                                                          • 0
                                                                                            Я смотрю на вещи осторожно. Я примерно предполагаю что через пару месяцев клиент будет доставать звонками «ваш парсинг отвалился» и соответственно просьбами-требованиями устранить баг немедленно и бесплатно.
                                                                                            • 0
                                                                                              Для таких клиентов у нас есть решения по подписке, что то типо платишь подписку за скрапер раз в месяц и не заморачиваешься с тем что надо кому то звонить\писать что бы это пофиксили(так как мы сами следим за скраперами), но цена на такое дело начинается от $30 и не каждый на это решается. Ну а вообще конечно до клиента лучше сразу донести то что любые изменения после принятия работы стоят денег, даже если это «5 минут делов».
                                                                                  • 0
                                                                                    Правда поисковики тоже не найдут

                                                                                    Я думаю, тему, как с SPA будут делать. 1 сайт для людей на WebGL, и параллельная структура на чистом html для поисковых ботов. Но, снова таки, если идет речь о сильно динамическом контенте (букмекеры со ставками во время матча, онлайн-аукционы, магазины с часто меняющимися ценами), то скорее всего притворение гугл-ботом (что тоже нетривиально в случае вайтлистинга) поможет получить информацию не первой свежести. Так, как сайтец для поисковых ботов будет лежать в кеше со временем инвалидации.
                                                                            • –1
                                                                              По поводу технических мер — в целом верно, но как раз поэтому это должно перейти в правовую плоскость. Возможно, и сейчас хватает законов для этого, а если нет то они должны, очевидно, появиться. Непонятно это бахвальство автора статьи о том, что он «всё равно украдёт данные» — по сути он хвастается теми аморальными шагами, которые он готов предпринять для развития своего бизнеса.
                                                                              • +2
                                                                                А что здесь аморального? Серьезно, я хотел бы увидеть этот критерий.
                                                                                • 0
                                                                                  Кража контента, очевидно.
                                                                                  • 0
                                                                                    А что он крадет? Авторские статьи? Нет. Он собирает список фактов фильм/время/место/стоимость. Думаю разница существенна. Когда контент — статья, то копипаст — кража, а в случае пересказа фактов — всё чисто. В случае go2cinema это именно перечисление фактов событий. Что бы яснее было: Допустим Медуза написала статью о каком-то событии в мировой политике (например в Кракожии 1 апреля выборы будут). А я опираясь на эту статью пишу у себя на сайте/твитере о факте события (предстоящего). В этом случае даже ссылка на источник не нужна.
                                                                                    • 0
                                                                                      У меня есть вопросы к постановке вопросов)
                                                                                      Что является контентом сайта с расписаниями?
                                                                                      Помогает ли чужой контент пользователям не заходить на оригинальный сайт?
                                                                                      • 0
                                                                                        Контент сайта с расписанием: какой фильм — какой кинотеатр — в какое время — цена билета.
                                                                                        Не могу считать скрапинг такого контента кражой. Это освещение фактов, что в таком-то кинотеатре в такое-то время пройдет показ фильма. Никаких рецензий и отзывов там не будет (ну или будут цитаты из рецензий с ссылкой на источник).

                                                                                        «Помогает ли чужой контент пользователям не заходить на оригинальный сайт?»
                                                                                        А это уже имхо не важно, кражи контента у сайта не происходит.
                                                                                        • 0
                                                                                          А это уже имхо не важно, кражи контента у сайта не происходит.
                                                                                          Ущерб для сайта вполне очевидный: если нет юзеров, то они не смотрят рекламу, т.е. не приносят доход от партнеров и/или не привязываются к конкретному заведению (реклама премьеры).
                                                                                          • 0
                                                                                            если нет юзеров, то они не смотрят рекламу


                                                                                            Кинотеатр зарабатывает деньги рекламой на своем сайте… Плохи дела.

                                                                                            не привязываются к конкретному заведению


                                                                                            Билеты в кинотеатр «Красная звезда» действительны только в этом кинотеатре. Какая еще привязка нужна?
                                                                                            • 0
                                                                                              Кинотеатр зарабатывает деньги рекламой на своем сайте… Плохи дела.

                                                                                              Почему бы и нет?) Например, кинотеатр в БЦ. Почему бы не порекламировать сервисы в двух шагах?

                                                                                              Какая еще привязка нужна?
                                                                                              Чтобы вы в эту «Красную звезду» пришли через месяц снова пришли на премьеру чего-то интересного. Зайдите на сайт любого кинотеатра, там куча всякой ерунды, типа конкурсов, мероприятий и конечно же инстаграм организации (=
                                                                                            • 0
                                                                                              То что скрапингом автор уводит юзеров у сайта — не критерий наличия нарушений, имхо. Критерием имхо должна быть совокупность двух факторов: что это за данные и как именно эти данные используются после скрапинга. Если это просто перечень событий, а не авторская статья, то всё чисто — можно показывать у себя на сайте. Если это авторская статья, то копипастить ее нельзя. Однако можно выкладывать статистику по этой статье (категория, теги, кол-во слов, орф. ошибок, комментариев, прочтений если счетчик есть, соотношение тональности комментариев). НО это мое видение относительно понятия «аморальных шагов», с которого и началась эта ветка, а не относительно законов той или иной юрисдикции.
                                                                                              • 0
                                                                                                Критерием имхо должна быть совокупность двух факторов: что это за данные и как именно эти данные используются после скрапинга.

                                                                                                Критерий один и очень простой: нарушаете вы или нет пользовательское соглашение сайта. И не надо за владельцев сайта решать, что они якобы обязаны вам разрешить с их сайтом делать, а что нет. Это их сайт и им решать, кому и как разрешать его просматривать. Если вас не устраивает их соглашение — не пользуйтесь сайтом, и всё.

                                                                                                • 0
                                                                                                  Критерий один и очень простой: нарушаете вы или нет пользовательское соглашение сайта. И не надо за владельцев сайта решать, что они якобы обязаны вам разрешить с их сайтом делать, а что нет. Это их сайт и им решать, кому и как разрешать его просматривать.

                                                                                                  Это не совсем так. Юридически не всякое пользовательствое соглашение сайта легально. Например, требования принесения первенца в жертву богу-крокодилу.

                                                                                                  Вообще, если говорит о РФ, авторское право не защищает факты, новости и т.п., то есть газета не может написать пользовательское сообщение, что ты не имеешь права перепечатывать или распостранять новости, которые прочитаешь в газете. Поэтому далеко не всякое пользовательское сообщение законно (про мораль все тоже сложно, если пользователям экономят часы, чтобы найти информацию, при этом все равно они купят у того же продовца — сложно судить морально это или нет создание таких агрегаторов, так и гугл с яндексам кто-то из продовцов хотел бы запретить).
                                                                                                  • 0
                                                                                                    Я в этом комменте писал немного про другое. Не про защиту конкретного содержимого, а про право владельца сайта определять политику доступа к нему. Вы же не будете отрицать, что платные подписки законны, пусть там внутри будут и только новости, которые можно перепечатывать? Обход механизма подписки юридически карается или нет? Вот запрет ботов — из той же категории — для просмотра сайта требуется быть, условно говоря, живым человеком с обычным браузером. Ну а получили законный доступ, прочитали — можете перепечатывать (если закон разрешает), но вручную, тратя своё рабочее время.
                                                                                                    • 0
                                                                                                      Обход механизма подписки юридически карается или нет?

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

                                                                                                      Ну а получили законный доступ, прочитали — можете перепечатывать (если закон разрешает), но вручную, тратя своё рабочее время.

                                                                                                      Эээ, а в каком законе какой страны сказано вручную? Если у меня есть право скопировать содержимое сайта, кто юридически помешает мне сделать сохранить страницу как? Или ctrl-c, ctrl-v? Дайте ссылку на такой закон?
                                                                                                      • 0
                                                                                                        Обратите внимание, в оригинале статья имеет дополнение к названию в скобках (часть 1, технические барьеры). Надо полагать что следом за техническими барьерами будут часть вторая — правовые барьеры. То что не будучи специалистом в области права и + к этому который специализируется на авторском праве и + к этому на авторском праве в цифровых технологиях — сделать аргументированный разбор полетов не получится — это например для меня вполне понятно. Поэтому я перевел бы эту тему совсем в другое русло. Насколько парсинг сайтов является что ли прогрессивным явлением, полезным.

                                                                                                        Интересно как бы отнесся автор статьи и одновременно владелец бота к тому что его статью так же кто-то ботнул, См. ravikash.com/do-not-protect-your-website-from-scraping-part-1-technology-barriers

                                                                                                        В чем бизнес владельца сайта ravikash.com я так и не понял. Единственное что ясно, так это то что это сайт своего рода потемкинская деревня. Автор создает впечатление движняка на сайте а на деле боты парсят контент по ключевым словам.

                                                                                                        Эта статья там вообще не в теме. Я подумал как она могла попасть на этот сайт. Мое подозрение такое, что часто употребляемое автором слово Blocking бот попутал со словом Blokchain. А поскольку этот сайт вряд ли читают даже его владельцы статья не по теме там зависла навечно.

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

                                                                                                        Спасибо автору статьи он показал какую инфраструктуру необходимо задействовать чтобы гарантировать постоянную доступность ботов (это сотни или там тысячи ip адресов из пула) плюс вместо сервера с 1Гб памяти и одним процессором для запуска простого бота на скажем php или python нужно будет приобретать ресурсов на 1000$ в месяц чтобы запускать там «безголовые» браузеры.

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

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


                                                                                                          сохранить страницу как? Или ctrl-c, ctrl-v?

                                                                                                          Это тоже можно приписать к "вручную". Граница несколько размыта, да (и так везде, не только в ИТ), но при желании её можно уточнять.

                                                                                                          • 0
                                                                                                            А, например, газету не выписывать, но стащил у почтальона из сумки, прочитал, положил назад.

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

                                                                                                            Это тоже можно приписать к «вручную». Граница несколько размыта, да (и так везде, не только в ИТ), но при желании её можно уточнять

                                                                                                            Можно, но это уточнять должны не правила сайта, а законы страны. Скажем, запретить записывать видео с программы ТВ на видеомагнитафон просто пользовательским соглашением телеканала нельзя (точнее это будет юридически ничтожно). Все будет зависит от законов и того что вы копируете. И редко где в законах проводят границу по инструменту для копирования (может я программой для себя самого, чтобы почитать оффлайн, сайт копирую? Есть и такие программы, нельзя просто пользовательским соглашениям в общем случае определять как пользователь имеет право просматривать ваш сайт).
                                                                                                            • 0
                                                                                                              Взял в магазине газету и пока продавец не видит прочитал — юридически наказуемо? Сомневаюсь.
                                                                                                              Или же достал фотоаппарат и начал методично копировать информацию из недешевого издания, лист за листом?

                                                                                                              В случае взлома сайта газеты, это уже аналог взломал офис издательства, чтобы прочитать газету, накажут не за то что прочитал, а за то что взломал.
                                                                                                              В УК как раз пишут про неправомерный доступ к охраняемой информации, а не про сам взлом.
                                                                                                          • 0
                                                                                                            Нет всегда. И не все ограничения доступа законы, например в РФ нельзя запретить дать приятелю прочитать выписанную газету.

                                                                                                            Некорректный пример. В оригинале — коммерческое использование. Причём даже очень натянуто "коммерческое". Например, радио заплатило за трансляцию музыки, а парикмахерская заплатила за проводную радиоточку. Но если они включат музыку из радио в присутствии посетителей (например, из РАО), то огребут проблем и штрафов.

                                                                                                            • 0
                                                                                                              Учитывая, что парикмахерская делает коммерцию совсем не на ретрансляции радио… Это надо быть ооочень зубастым юристом, чтобы натянуть сюда коммерческое использование. Пруфы проблем и штрафов есть?
                                                                                                      • 0
                                                                                                        Можно узнать когда оно было мной подписано? Публичная оферта? А меня о ней хотябы известили? Как быть если сайт (и его владельцы) ЗНАЕТ или обязан был знать что я не могу ее понять (пример — Pocketbook'овское облако — оферта на немецком языке, при этом сайт на русском, при этом вопрос как сие понимать — публично задавался им в посте про это самое облако на GT).
                                                                                                        И кстати как быть если сайт В КУРСЕ что оферта не принята (например мой браузер отправляет HTTP-заголовок где прямо сказано что оферту — не принимаю, буду вести себя так то и так то, если не устраивает — отвечайте стандартным статус-кодом из диапазона 400...499, ну да это ни в одном стандарте не описано — ну так где мне на сайте оферту искать тоже ни в одном стандарте не описано). Почему то считается что сайт может отдать данные в каком попало формате и считать что пользователь — прочитал и понял а обратное — неверно. А собственно с чего вдруг?