url заблокирован не удалось провести скрейпинг url так как он заблокирован
Безопасный веб-скрейпинг: как извлекать данные с сайтов, чтобы вас не заблокировали
Авторизуйтесь
Безопасный веб-скрейпинг: как извлекать данные с сайтов, чтобы вас не заблокировали
Автор — Мария Багулина
Чтобы получить данные с сайтов, используется готовый API, однако он не всегда доступен. Тогда приходится использовать «парсер» веб-страницы — в автоматическом или полуавтоматическом режиме распознавать код и получать данные из необходимых полей. Обходом множества страниц и сайтов занимается ПО, которое обычно называется «краулер».
Процесс сбора данных с сайтов краулером называется веб-скрейпингом.
Большинство популярных сайтов активно защищают свои ресурсы от скрейпинга используя распознавание IP-адреса, проверку заголовков HTTP-запросов, CAPTCHA и другие способы. Но скрейперы не отстают от них и придумывают новые стратегии обхода. Вот несколько советов, как скрейпить без блокировок.
Задайте случайные интервалы между запросами
Ни один реальный человек не станет отправлять запросы на сайт каждую секунду в течение 24 часов — такой сбор информации очень легко обнаружить. Используйте случайные задержки (например около 2–10 секунд), чтобы избежать блокировки. И не отправляйте запросы слишком часто, иначе сканирование сайта будет походить на сетевую атаку.
Особо щепетильным стоит проверить файл robots.txt (как правило, находится на http:// /robots.txt). Иногда там можно найти параметр Crawl-delay, который говорит, сколько секунд нужно подождать между запросами, чтобы не вредить работе сервера.
Установите адекватный User Agent
User Agent — HTTP-заголовок, который сообщает посещаемому веб-сайту информацию о вашем браузере. Если не настроить User Agent, вашего краулера будет очень легко обнаружить. Кроме того, сайты иногда блокируют запросы пользовательских агентов от неизвестных браузеров. Поэтому не забудьте установить один из популярных пользовательских агентов (например из этого списка).
Опытные скрейперы могут попробовать установить свой агент на Googlebot User Agent — поисковый робот Google. Большинство веб-сайтов, очевидно, хотят попасть в выдачу Google и пропускают Googlebot.
Хорошей практикой будет также чередование разных User Agent.
Используйте прокси
Вряд ли настоящий пользователь сможет запрашивать 20 страниц в секунду на одном и том же сайте. Чтобы «обмануть» веб-сервер, заставьте его думать, что все эти запросы приходят из разных мест. Другими словами, используйте прокси.
Тут есть множество вариантов, например сервисы SmartProxy, Luminati Network, Blazing SEO. Бесплатные прокси не всегда подойдут для таких целей: они часто медленные и ненадёжные. Также можно создать свою прокси-сеть на сервере, например с помощью Scrapoxy — API с открытым исходным кодом.
Добавьте referer
Referer — заголовок HTTP-запроса, который даёт понять, с какого сайта вы пришли. Неплохой вариант — сделать так, чтобы он показывал, будто вы перешли из Google:
Стоит менять referer для веб-сайтов в разных странах: например для России использовать https://www.google.ru/, а не https://www.google.com/. Вместо Google можно подставить адреса соцсетей: Youtube, Facebook, ВКонтакте. Referer поможет сделать так, чтобы запросы выглядели как трафик с того сайта, откуда обычно приходит больше всего посетителей.
Используйте headless-браузер
Особо хитроумные сайты могут отслеживать веб-шрифты, расширения, файлы cookie, цифровые отпечатки (фингерпринты). Иногда они даже встраивают JavaScript-код, открывающий страницу только после его запуска — так зачастую можно определить, поступает ли запрос из браузера. Для обхода таких ресурсов вам потребуется headless-браузер. Он эмулирует поведение настоящего браузера и поддерживает программное управление. Чаще всего для этих целей выбирают Chrome Headless.
Если ресурс отслеживает цифровой отпечаток браузера, то даже многократная смена IP и очистка cookie не всегда помогают, так как вас всё равно могут узнать по фингерпринту. За частую смену IP при одном и том же отпечатке вполне могут заблокировать, и одна из задач Chrome Headless — не допустить этого.
Самый простой способ работать с Chrome Headless — использовать фреймворк, который объединяет все его функции в удобный API. Наиболее известные решения можно найти тут. Но некоторые веб-ресурсы пытаются отслеживать и их: идёт постоянная гонка между сайтами, пытающимися обнаружить headless-браузеры, и headless-браузерами, которые выдают себя за настоящие.
Подключите программу для решения CAPTCHA
Существуют веб-сайты, которые систематически просят вас подтвердить, что вы не робот, с помощью капч. Обычно капчи отображаются только для подозрительных IP-адресов, и с этим помогут прокси. В остальных же случаях используйте автоматический решатель CAPTCHA — скажем, 2Captcha или AntiCaptcha.
Распознаватели чаще всего платные, потому что капчи вручную решают реальные люди. Поэтому стоит понять, оправдают ли затраты поставленную цель.
Избегайте honeypot-ловушек
«Honeypot» — это фальшивая ссылка, которая невидима для обычного пользователя, но присутствует в HTML-коде. Как только вы начнёте анализировать сайт, honeypot может перенаправить вас на пустые и бесполезные страницы-приманки. Поэтому всегда проверяйте, установлены ли для ссылки CSS-свойства «display: none», «visibility: hidden» или «color: #fff;» (в последнем случае нужно учитывать цвет фона сайта).
Если вы последуете хотя бы одному совету из этой статьи, ваши шансы быть заблокированным уменьшатся во много раз. Но для верности лучше комбинировать несколько приёмов и всегда следить, чтобы краулер не слишком нагружал чужие веб-серверы.
URL заблокирован SpIDer Gate — настройка белого списка
Если вы попытались зайти на сайт и увидели надпись «URL заблокирован SpIDer Gate«, это значит, что модуль антивируса Dr Web («Доктор Веб») считает сайт небезопасным. Но, к сожалению, «Спайдер Гейт» может заблокировать и хороший сайт.
О причинах такого поведения и вариантах решения я писал в предыдущей статье.
Сегодня мы разберемся как настроить SpIDer Gate и внести хороший сайт в белый список.
Содержание
1. Проверяем, опасен ли сайт
Перед тем как снять блокировку, обязательно убедитесь, что сайт не несёт угрозы!
Рекомендую для проверки сайта воспользоваться онлайн-сервисом VirusTotal от компании Google.
VirusTotal подскажет, опасен ли сайт
В Крыму некоторые сервисы от Google не работают, VirusTotal в их числе. Можно воспользоваться менее быстрым сервисом http://antivirus-alarm.ru/proverka/ (или другими способами, которые я опишу в ближайшей статье).
2. Настройка SpIDerGate
Чтобы зайти в настройки антивируса Dr.Web SpIDer Gate, необходимо включить административный режим.
Теперь можно войти в настройки SpIDer Gate:
Белый список в DrWeb версии 9:
Меню антивируса еще открыто:
Теперь можно зайти на заблокированный ранее сайт.
В этом видео показан пример внесения сайта в белый список Dr.Web SpIDer Gate версии 9:
Ссылки, которые можно вносить в белый список без опасения, можно найти ниже.
Белый список в DrWeb версии 10:
Меню антивируса после включения административного режима осталось открытым:
Теперь можно зайти на сайт, который мы добавили в исключения.
В этом видео показан пример внесения сайта в белый список Dr.Web SpIDer Gate версии 10:
Прочитайте ниже о том, какие сайты можно внести в исключения антивируса.
Какие ссылки можно вносить в белый список
В белый список можно вносить заведомо безопасные сайты с хорошей репутацией.
Если же вы проверили малоизвестный сайт на вирусы и угроз не найдено, всё равно будьте осторожны! Перед выполнением каких-либо действий, связанных с внесением ваших личных данных подумайте, нужно ли это вам, прочитайте условия соглашений и т.д.
Если вы подписаны на новости сайта IT-уроки, внесите в белый список адреса сервиса почтовой рассылки «Смартреспондер»:
smartresponder.ru
srclickpro.ru
Также, можно внести и другие популярные сервисы почтовых рассылок.
Заключение
Итак, сегодня вы узнали что делать, когда увидели сообщение «URL заблокирован SpIDer Gate», научились проверять ссылки на вирусы, а также, настраивать Dr.Web SpIDer Gate (вносить в белый список хорошие сайты).
Если у вас остались вопросы, задавайте их в комментариях.
Чтобы не пропустить другие полезные материалы на тему безопасности работы за компьютером, подпишитесь на новости сайта IT-уроки.
Копирование запрещено, но можно делиться ссылками:
Url заблокирован не удалось провести скрейпинг – что делать?
Иногда при получении данных с сайта возникает ошибка «URL заблокирован». Подобная ситуация возникает, если идет неправильный процесс сбора данных с сайтов. Большинство пользователей не знают, как поступать в этом случае.
Url заблокирован не удалось провести скрейпинг
URL заблокирован не удалось провести скрейпинг – такую надпись видят пользователи, если используется парсер ресурса в полу- или автоматическом режимах при помощи программного обеспечения, которое носит название «краулер». Скрейпинг – это процесс сбора информации с сайтов посредством краулера. Так как последний является программой, то можно его перепрограммировать, чтобы ошибка пропала.
При получении данных с сайта обычно используется готовый API, который иногда бывает недоступен. Тогда вход идут парсеры страниц. Так как популярные сайты активно защищают данные от скрейпинга, приходится придумывать различные методы обхода блокировок.
Самое простое, что может сделать пользователь, задать случайные промежутки между запросами. Настоящий человек не может с точностью до миллисекунды отправлять запросы. Во избежание блокировки, необходимо использовать режим случайных задержек. К тому же не стоит отправлять запросы чересчур часто, так как защита сайта воспринимает это, как сетевую атаку.
Чтобы сервер не принял вас за одного человека, каковым вы по сути и являетесь, нужно использовать прокси. Тогда все запросы будут отправляться якобы с разных IP адресов, и защита ресурса пропустит их. Вариантов много. Есть специальные сервисы, но не бесплатные. Последние отличаются медлительностью и ненадежностью.
Чтобы веб-сайт «думал», что вы пришли из Google, задайте referer – заголовок запроса, который показывает, с какого именно сайта вы пришли. При этом для разных стран стоит применять различные referer. Также вместо Гугл допустимо использовать адреса социальных сетей. Данный прием поможет сделать так, чтобы запросы воспринимались исследуемым сайтом, как трафик именно оттуда, откуда приходит большинство пользователей.
Пример капчи старой версии
Также можно использовать программу для решения проблемы – CAPTCHA. Всем известно, что капчи обычно просят ввести при входящих запросах с подозрительных IP-адресов. Если это так, то помогут прокси. В остальных случаях можно воспользоваться антикапчей, но нужно знать, что программа платная, так как капчи вводят реальные люди за деньги.
Комбинируя несколько способов, можно избежать блокировки страницы при скрейпинге. В некоторых случаях поможет и один из предложенных методов.
Сообщение для входа в Facebook: «URL заблокирован: это перенаправление не удалось, потому что URI перенаправления не занесен в белый список в настройках OAuth клиента приложения.»
если вы регистрируетесь для тестирования, перейдите в настройки своего профиля и в свой интересы добавить удалить профиль.
попытка войти с Facebook в my сайт:
я получаю следующую ошибку:
URL заблокирован: это перенаправление не удалось, потому что URI перенаправления не белый список в настройках OAuth клиента приложения. Убедитесь, что клиент и Вход в систему Web OAuth включен и добавьте все домены приложений как действительные OAuth Перенаправить URIs.
мой settings (основы) в Facebook являются:
на вкладке «Дополнительно», Valid OAuth redirect URIs установлено:
Дополнительные параметры (дополнительно) здесь:
ключ приложения и секрет правильны. Я использую Meteor и его пакеты счетов.
10 ответов
вход с помощью кнопки Facebook на вашем сайте связан с:
обратите внимание: redirect_uri=http://openstrategynetwork.com/_oauth/facebook
если вы вместо этого измените ссылку на:
это должно работать. Или, вы можете изменить ссылку Facebook, чтобы http://openstrategynetwork.com/_oauth/facebook
вы также можете добавить http://localhost/_oauth/facebook к допустимым URIs перенаправления.
Facebook требует, чтобы вы перенаправляли URIs белого списка, так как в противном случае люди могли бы войти в систему с Facebook для вашего сервиса, а затем отправьте их маркер доступа на сервер злоумышленника! И вы не хотите, чтобы это произошло ;]
Как пишет спрашивающий
и у меня была та же проблема (запись url-адреса перенаправления в неправильное поле ввода), я хотел бы выделить это
это не
это сэкономило бы мне 2 часа проб и ошибок.
это сработало для меня.
Я получил, что из моего браузера после нажатия кнопки Facebook вы браузер будет перенаправлен на ссылку для интеграции с Facebook API, так где вы получите, что перенаправление. Для моего случая ссылка была такой, откуда я получил redirect_url.
убедитесь, что «Приложение Домена» и Facebook Login => действительный OAuth перенаправить URIs. Там вы должны проверить www или без www. Его лучше использовать с www или без для всех URL-адресов в php,html,css-файлах и настройках приложения Fb.
другое дело, если вы используете » / » конец URL-адресов, вы должны добавить этот URL-адрес в Настройки Приложения допустимый URIs перенаправления OAuth. Образец:- https://www.example.com/index.php/ если этот url если вы используете в url перенаправления, вы должны установить это в Настройки Приложения.
надеюсь, это поможет.
для моего приложения узле
put обратный вызов Url относительный
мой OAuth перенаправляет URIs следующим образом
Убедится «/» в конце Facebook auth перенаправить URI
эти настройки работали для меня.
изменение с hauth.сделано=Facebook to hauth_done=Facebook в действительном OAuth redirect URIs исправил его для меня.
попробуйте добавить http://openstrategynetwork.com/sigin-facebook to Client OAuth Settings действительный URL-адрес перенаправления вместе с вашим собственным URL-адресом перенаправления.
войти помощник вашего сайта
и в панели мониторинга приложений facebook (на вкладке «продукты»:Логин Facebook )
действительный OAuth перенаправить URIs также должно быть таким же xyz.com/user_by_facebook/
Как упоминалось ранее, делая запрос от web
у нас была такая же проблема, такой кошмар.
убедитесь, что ваши идентификаторы приложений и секретные ключи верны. Если для тестирования используются отдельные приложения разработки, постановки и производства, идентификаторы приложений и секретные ключи различаются для каждого приложения. Это часто является проблемой.
убедитесь, что URL обратного вызова установлен правильно в файле конфигурации приложения (см. ниже). А затем добавьте это как тот же URL в разделе»Логин Facebook» настройки, где говорится»действительный OAuth перенаправить URIs«. Это должно выглядеть так (в зависимости от вашей среды):
http://localhost/auth/facebook/callback http://staging.example.com/auth/facebook/callback http://example.com/auth/facebook/callback
Не защищайте сайт от скрапинга: сопротивление бесполезно
За последнее десятилетие я реализовал много проектов, связанных с агрегацией и анализом контента. Часто агрегация включает в себя снятие данных со сторонних сайтов, то есть скрапинг. Хотя я стараюсь избегать этого термина. Он превратился в некий ярлык, с которым связано много заблуждений. Основное заблуждение в том, что веб-скрапинг можно заблокировать с помощью X, Y, Z.
С точки зрения бизнеса
На прошлой неделе я встретился с высокопоставленным руководителем из отрасли, в которой развиваю свой бизнес GO2CINEMA. Без сомнения, это один из самых умных и знающих людей в киноиндустрии.
Бизнес-модель GO2CINEMA основана на агрегировании из разных источников информации о расписании сеансов, свободных местах и стоимости билетов, а также выполнении запросов на покупку билетов на этих веб-сайтах от имени пользователя.
Я посоветовался с этим человеком насчёт поиска инвестиций. Он предложил свою помощь и попросил подготовить анализ всех способов блокировки моего текущего бизнеса, включая скрапинг контента (с технической и юридической точек зрения). Я подготовил необходимые документы и поделился с ним перед нашей встречей. Его реакция была примерно такой:
Да, тщательное исследование. Но всё-таки есть способы, чтобы тебя заблокировать. *ухмыляется*
Реальные пользователи не отличаются от ботов
У людей, далёких от IT, присутствует эдакое идеализированное представление о программировании как в компьютерных играх 80-х — вы надеваете шлем виртуальной реальности и погружаетесь в Сеть. На самом деле вся информация и все взаимодействия — это нули и единицы. Здесь нет ничего человеческого. Нет различия между данными, введёнными компьютером или человеком.
Инспектирование веб-трафика
Скажу по-простому. Пока посетители могут получить доступ к контенту на вашем сайте, бот сможет получить такой же доступ. Все технологические решения против скрапинга помешают реальным пользователям в той же мере, что и ботам.
Если не верите, давайте рассмотрим все технические способы, которыми веб-сайт может попытаться заблокировать бота на примере моего бизнеса.
Технические контрмеры
Хотя техническому специалисту некоторые из этих тезисов покажутся глупыми, но инвесторы реально выражали все эти опасения — и я должен был отвечать. Так что уж потерпите вместе со мной.
Блокировка юзер-агента
Каждый HTTP-запрос содержит HTTP-заголовки, в том числе юзер-агент — идентификатор HTTP-клиента. Поэтому кинотеатр может идентифицировать ботов по информации из заголовков HTTP — и блокировать их.
Решение: поддельные заголовки HTTP для имитации реальных пользователей.
Пример: боты GO2CINEMA используют заголовки HTTP, которые имитируют реальные пользовательские сессии (например, в браузере Google Chrome). Заголовки HTTP рандомизируются между сеансами скрапинга.
Вывод: невозможно заблокировать ботов GO2CINEMA, используя отправленные клиентом HTTP-метаданные, такие как HTTP-заголовки, не блокируя реальных пользователей.
Блокировка IP-адресов
Кинотеатр может попытаться определить и заблокировать IP-адреса ботов GO2CINEMA.
Решение: «поддельные» IP-адреса (использование прокси).
Массовая идентификация
GO2CINEMA использует комбинацию из шедулинга запросов и ротации IP, чтобы избежать идентифицируемых шаблонов поведения бота. Вот некоторые из мер предосторожности:
Если кинотеатры начнут блокировать IP-адреса дата-центров, придётся использовать IP домашних пользователей через прокси домашних адресов вроде Luminati. У такого подхода два недостатка:
Важно подчеркнуть, что теоретически можно различить 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.
Текущий подход имеет преимущества:
Мобильная проверка
Кинотеатр может потребовать от пользователя предоставить действительный номер мобильного телефона для завершения транзакции.
Решение: одноразовые мобильные номера.
Если процесс проверки включает в себя звонок или сообщение (например, нужно ввести номер, полученный на телефон), то можно использовать любого из виртуальных сотовых операторов (например, Twillio) для оформления временных мобильных номеров.
В отличие от временных адресов электронной почты, виртуальный телефонный номер стоит относительно дорого (например, 1 фунт в месяц за номер).
С другой стороны, добавление обязательной мобильной проверки маловероятно, потому что отрицательно скажется на работе кинотеатра по нескольким причинам:
Вывод: мобильная верификация не помешает нашим ботам продолжать скрапинг кинотеатров.
Блокирующий 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
Другой бизнесмен (владелец кинотеатра) предположил, что кинотеатр может заблокировать GO2CINEMA, ограничив доступ к API с помощью ключа API.
Он: Кинотеатр может просто обновить свой API, чтобы требовать ключ API.
Я: Какой API?
Он: API для доступа к кинопоказам.
Я: Эта информация опубликована на сайте?
Он: Да.
Я: Тогда клиент браузера должен иметь доступ к этому API для просмотра контента на сайте.
На этом конкретном сайте, который он привёл в качестве примера, ключ API был жёстко прописан в исходном коде.
Вывод: ограничение доступа к API с помощью ключа API не является эффективной стратегией для ограничения скрапинга, если это открытый API.
Резюме
В настоящее время не существует технических барьеров для блокировки доступа конкретного бота к контенту на сайте кинотеатра. Все перечисленные механизмы действуют лишь в качестве сдерживающего фактора.
Стоит подчеркнуть, что хотя ни один из этих методов не блокирует ботов, внедрение некоторых или всех этих механизмов дорого обойдётся кинотеатру с точки зрения 1) стоимости технической разработки и 2) неудобств для реальных пользователей.
Блокировка 98% скраперов
Хотя нельзя заблокировать все скраперы, но вы можете помешать или заблокировать большинство из них, используя комбинацию вышеуказанных методов.
Стоит ли это ваших усилий? Ответ зависит от следующих факторов:
Юридические препоны
Владелец сайта не может технически заблокировать ботов. Но есть ли у него юридические инструменты для этого?
Короткий ответ: нет (или крайне маловероятно, трудно и займёт много лет).
В следующей статье я расскажу о более чем десятке судебных дел, которые я использовал для оценки правового климата в Европе с точки зрения бизнеса на скрапинге.
Заключительные замечания
Похоже, что многие читатели решили, что мы развязали технологическую войну с кинотеатрами (см. комментарии Reddit). Это не так.
За исключением слухов о попытке кинотеатра X заблокировать наши IP-адреса (упомянутые в разделе «Блокировка IP-адресов»), ни один кинотеатр не пытался нас заблокировать, используя какой-то из перечисленных методов. Цель этой статьи — поделиться кратким описанием сценариев «что, если», подготовленных как резервный план в рамках привлечения венчурного финансирования.
Большинство кинотеатров остаются динозаврами, которые по-прежнему используют факсы для повседневных коммуникаций и электронные таблицы Excel для управления расписаниями показов. Они не могут позволить себе или не видят необходимости иметь API — и они полностью осведомлены и рады, что другие компании копируют расписание сеансов с их веб-сайта.
Если вы собираетесь скрапить чужой контент, сначала спросите у владельца сайта, если ли у него API. Это сэкономит время и деньги вам и владельцу сайта.