Pull to refresh

Comments 206

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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


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


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

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

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

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

Phantom на страницу заходит выполняет джаваскрипт вроде return $scope (или любой другой источник данных) и получает все на блюдечке даже парсить не надо ничего.
UFO just landed and posted this here

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


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


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


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


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

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

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

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

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


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

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

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

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

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

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

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

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

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

Скорее так: когда ставите замки на двери музея с Джокондой, помните — вам все равно придется открыть их утром. :-)

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

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

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

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

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

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


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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

Сделать можно и по другому: текст для просмотра разложить на несколько картинок так, чтобы часть точке на кажой была прозрачной, и только если наложить через css одну на другую, получались бы слова. Сделай так — и будет большой гемор это собрать, тебя просто проигнорируют. Но тут возникает мыслишка «ой, нас же гугл не проиндексирует!»

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

А скраперы создают же проблемы не только сайтам, если уж по теме поста: тем же VPN тоже придется защищаться.
UFO just landed and posted this here
В борьбе меча и щита побеждает кошелек.
UFO just landed and posted this here
Защита от серьезных парсеров дело сложное. Тот кто тырит контент (то есть не хочет платить за контент или не хочет платить хотя бы элементарно людям которые будут вводить в базу данных технические характеристики товаров и т.п.) — не будет слишком много платить и за парсеры разработчику. Я например пока что отказываюсь когда мне предлагают сделать парсер на продажу. Т.к. прекрасно понимаю что тот заказчик который хочет тырить контент за свои скромные деньги поимеет всех и вся и потом когда сайт изменит структуру или забанит — то будет пытаться заставить работать бесплатно и это уже будет пожизненно.

Но против такого дешевого парсинга и защиту поставить довольно просто. Ссылку я дал выше на то как это сделать (статья на Хабре (не моя))
Челендж от Cloudflare,у нас например, решается в автоматическом режиме. Но есть провайдеры обход защиты которых действительно сложный. К примеру Distil Networks. В целом я согласен с автором по поводу того, что лучшая защита нервов и машинного времени это публичное API. Что касается юридической стороны то автоматический сбор данных которые доступны без аутентификации — вообще не должен быть наказуем, т.к они публично доступны. Другое дело их использование.
Не до конца понятен вчем профит борьбы в целом. Ситуация с скрапингом в большенстве напоминает сценарий работы с гос организациями в постсоветском пространстве:
— Мы сделали красивый интерфейс для доступа к вашим данным. Пользователи могут покупать билеты через нас
— Мы вам данные не разрешали брать
— Да, но у вас они и так не покупали. Мы вам помогаем зарабатывать
— Пускай покупают с нашего сайта. А не хотят — не надо. Мы вам данные не давали
По мотивам 42.tut.by/437580
Не буду говорить что есть сайты где сам контент является ценностью — таких наверное немного.
Я могу привести по крайней мере две причины.
1) Одинаковый контент сильно понижает рейтинг у поисковых систем. Если например оригинал поисковик не успел проиндексировать а я уже благодаря парсингу успел за пару секунд опубликовать у себя копию то дальше поисковик скорее всего «назначит» оригиналом тот текст который проиндексирует первым.
2) Для улучшения продажи нужны подробные описания, точные характеристики и изображения товаров. Я уже не говорю о там каком-то авторском тексте уникального содержания. Тот кто подключился к сайту с хорошей базой по описаниям товарам получает практически даром и может стать конкурентом, т.к. его интернет-магазин будет выглядеть уже солидно.
Мой вопрос (риторический) был про конкретный кейс — продажа билетов в конкретном кинотеатре на конкретный сеанс. Какая разница купит человек на родном сайте кинотеатра или у агрегатора…
Для собственника кинотеатра — никакой. Для собственника сайта который не обязательно является собственника кинотеатра — это потеря прибыли.

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

В большинстве случаев парсинг который покупают для себя хитрые заказчики задешево может быть не сильно сложными средствами отсеян. И если собственник сайта считает что его контент должен быть защищен он имеет на это полное право. И не только право. Для того чтобы отсеять 99% реально работающих на curl/node-request парсеров достаточно простого вычислителя ботов как в статье на Хабре на которую я привел ссылку.
кинотеатрам можно тоже использовать скрапинг, только в своих целях.

сделать бота для их сайта и делать запросы на фейковые заказы из нескольких редких комбинаций кресел (далее вычислять всех по ип откуда идут эти заказы). в дальнейшем отдавать им похожие на настоящие но фейковые(или немного подпорченные) данные.
Это да. Продать несуществующие места. А потом предложить возврат денег, если покупатель подтвердит, что он владелец эмейла и карточки. Так можно перевести борьбу на свою поле.
UFO just landed and posted this here

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

Порой тот сайт и кинотеатр это разные собственники. Сайт получает процент от продаж только той части билетов которые были проданы через сайт.
Но разве покупка происходит не через их сайт?
Кажется это может вредить, если сайт не получает процент с продаж, а только с рекламы.
UFO just landed and posted this here
Порой тот сайт и кинотеатр это разные собственники. Сайт получает процент от продаж только той части билетов которые были проданы через сайт.
Надо понимать, что если аггрегатор хорошо раскрутится, то может начать навязывать правила игры для кинотеатров. Сегодня аггрегатор покупает билеты через headless chrome, а завтра ставит перед фактом, что 50% билетов проходит через него, и без аффилиатского вознаграждения в 15% покупатели будут направлены на другие кинотеатры, а для конкретного всегда будет написано «все места проданы» (то есть, мгновенная потеря половины прибыли кинотеатра). А кинотеатр, который заплатит 20%, еще и плашку «а тут есть места получше» получит, которая будет выводится при выборе мест у не столько щедрых конкурентов.

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

Все таки надо понимать, что интернет — это поле битвы за внимание. И внимание контролирует тот, чей домен пользователь вводит в адресной строке. А как монетизировать, это уже другой вопрос
без аффилиатского вознаграждения в 15% покупатели будут направлены на другие кинотеатры, а для конкретного всегда будет написано «все места проданы»
За такое можно нарваться на иск. Тем более, что это претензия на монополизацию бизнеса.
За такое можно нарваться на иск. Тем более, что это претензия на монополизацию бизнеса.

Уверен, что поводы для исков и так есть. Часто в terms of use пишут, что запрещен сбор информации для коммерческого использования.
Просто надо понимать, что люди, делающие такие проекты морально к искам готовы. Сайт может быть зарегистрирован на Доминиканских островах. И, к тому же, попробуй доказать, что выдвигающий условия == владелец сайта. А вот кинотеатр, подав иск, усыхание ручейка прибыли почувствует сразу. У аггрегатора гораздо больше рычагов давления. Можно просто повесить бляшку на главной странице, что «участились жалобы на кинотеатр N, покупайте билеты на свой страх и риск», а разбираться, кто прав среднему зрителю не надо. Ему лучше просто выбрать кинотеатр, который без вопросов.
Ну пойдут прокатчики в РКН, скажут, что «бляшки» порочат их деловую репутацию и финита для агрегатора, на каких бы островах он бы ни был зарегистрирован.
Конкретно этот сайт не для российского рынка делается. В крайнем случае к моменту, пока прокатчики поднимут связи, можно бляшку и снять, осадок и так у людей останется.
к моменту, пока прокатчики поднимут связи, можно бляшку и снять, осадок и так у людей останется.
Значит и останется состав дела для иска. Речь про законные методы, когда суд будет снимать бляшки и взыскивать ущерб. Там еще могут потребоваться новые бляшки, но уже официально и с извинениями-опровержениями.
Вот только надо понимать, что один кинотеатр для агрегатора ничего не изменит. С ним или без него он раскрутится (или провалится) в любом случае.

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

и уводит тоже. Аггрегатор может чуть-чуть увеличить пирог для всех (к примеру, часть тех, кто смотрел Apple TV, начнет в кино ходить), пусть это будет +5%. И при этом может серьезно менять расклад сил, лишая кинотеатры своих фишек и маркетиговых уловок при выборе. Скажем, один кинотеатр получит +25% зрителей, потому, что он дешевый, и о нем люди просто мало знали, а второй -20% зрителей, потому, что дорогой, и люди узнали о первом, зайдя купить билет на второй.
Из второго люди все равно уйдут, независимо от того будет ли он представлен в агрегаторе.
А и не нужно. В мире с каждым днём всё больше и больше информации. Мы хотим получать нужную для нас информацию. Поток данных стал настолько огромным, что без скраппинга «мозг вытечет» её просто анализировать. Да и с ним ситуация хоть и легче, но не намного.

И человеку\компании всё же следует понимать, что они всего лишь человек\компания. Одни из многих. Есть другие люди, другие компании (кинотеатры). Мы уникальны, но не настолько. Есть масса альтернатив. Бороться нужно за внимание. Его уделяют. Значит чем-то полезны. Не будут уделять. Будет меньше влияния, прибыли. И в конечном итоге это приведёт к тому, что люди уйдут. Как раз к конкурентам.

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

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

А нас уже совсем скоро будет 8 миллиардов. Вся эта «борьба» со скраппингом скорее напоминает позицию — «Назло маме уши отморожу». Ну… Успехов им. Добровольный путь к собственной деградации.
Сайты без полноценного апи для доступа к ним со временем полностью отомрут.

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

Что? Люди чтобы получить информацию пишут скраперы. Эх… мне бы машину купить тысяч на 20 долларов, напишу скрапер, который спарсит все б/у машины региона с ценой от 19 до 21 тысячи, натренирую ML модель, и выберу оптимум? Нет, в реальном мире люди так не поступают. А на том 0.01%, кто так делает, много не заработаешь.
Бороться нужно за внимание.

Золотые слова. И кинотеатр, пользователи которого покупают билеты через аггрегатор, его уже потерял. Он стал коммодити. Теперь аггрегатор сам решит, скольким пользователям его подсунуть, а от скольки запрятать на последнюю страницу поиска.
UFO just landed and posted this here
Аналогично с РЖД-билетами в горячий сезон) Их пачками вбрасывают на продажу с некоторой периодичностью до даты.
Я тоже подобные вещи делал;) На хабре таких много. Поэтому, и упомянул, что
А на том 0.01%, кто так делает, много не заработаешь.

И, кстати, конкретный пример с хостером очень показателен. Если такой ажиотаж, то, очевидно, что сервер можно было продать и дороже. То есть, хостер, по сути, просто жертвовал разницу между рыночной ценой, и ценой, по которой продавал фактически, и делал это ради маркетингового хода, чтобы люди паслись на сайте, и в конце концов купили по полной цене что-нибудь. А ботоводы, не давая реальным «мануальщикам» купить ни один сервер, этот маркетинговый ход портили, намекая им, что, возможно, серверов то и нет, и все это кидло)
UFO just landed and posted this here
И тут ваш бот попадает на Flash сайт (мне так заказывали скрапер для букмейкерской конторы — там Flash). Или на сайт с WebGL и вы идете курить бамбук
мне так заказывали скрапер для букмекерской конторы — там Flash

Я, кажется, даже понимаю, какой (если говорим об одной и той же, то там мобильный сайт с такой же скорость обновления, и на js). Как правило, есть мобильная версия не на Флеш, или мобильное приложение с простым протоколом, или можно протокол, который флеш использует, раскрутить.
UFO just landed and posted this here
UFO just landed and posted this here
С юридической точки зрения вконтактик нагнул ботов приставов и заставил платить (разрешил себя скрапить по соглашению сторон)

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

UFO just landed and posted this here
Если админ сайта кинотеатра хорошо знает программирование и имеет много свободного времени, то почему бы и нет)
Обычно в данных есть очень сладкие позиции, без которых парсинг бессмысленен, и которые не нужны поисковикам, т.е. которые можно не отдавать со страницей, в текущем примере — это свободные места. Вот чтобы их защитить и можно приложить усилия по шифрованию, обфускации js, чтобы тяжело было алгоритм шифрования вычленить, обфускации DOM и структурно и на уровне названий, не говоря про то что селениумы можно определить. А ещё бывают чёрные списки прокси, ведь при распараллеленой системе они захотят покупать дешёвые неуникальные и пачками, а чтобы защитить прокси-юзеров — использовать систему очков, где сам факт чёрного прокси уже прибавляет значительное их кол-во, но недостаточное, чтобы заблокировать простого юзера.
Вот чтобы их защитить и можно приложить усилия по шифрованию, обфускации js, чтобы тяжело было алгоритм шифрования вычленить, обфускации DOM и структурно и на уровне названий,

Открываем хром, формируем картинку, картинку в библиотеку OCR — профит. В конце концов, можно даже нанять девочку Леночку, которая будет сидеть перед монитором переодически нажимать F5 в браузере и помечать занятые места на сайте агрегатора. Дорого, но возможно.
UFO just landed and posted this here
вы оформили билеты, а там 10 место в 5 ряду, а 5 место в 10 (в выдаче внезапно слова поменялись местами и добавилась, — вместо 10 место, ряд 5 стало 10 ряд, место 5)?


Странное решение странной проблемы.
Несколько десятков отзывов довольных пользователей, в том числе и по сарафанному радио (в кино обычно за 200 км не ездят) — и у вас билеты больше никто не купит. Да и кинотеатр тот будут обходить подальше.
UFO just landed and posted this here
Я покупал билет в кинотеатр. В кинотеатре мне, вместо сеанса, начинают чего-то рассказывать… Что мне делать?
Я купил билет у мошенников, и мне продали фантик? Заявление в полицию на агрегатора. Кинотеатр — свидетель. Не хочет быть свидетелем? Не соучастник ли он?
Руководство кинотеатра по каким-то своим странным мотивам организовало продажу фиктивных билетов? Тогда они точно соучастники.
UFO just landed and posted this here
Ок.
Агрегатор действуя на СВОЙ страх и риск и ПО СВОЕЙ инициативе без какого-либо договора сканирует сайт кинотеатра и оформляет на ваше имя билет.

Я, как покупатель, не имею возможности знать, в каких отношениях находится агрегатор и кинотеатр.
Но, если агрегатор продает фантики — его очень быстро прикроют. А если выяснится, что в продаже фантиков замешано руководство кинотеатра… Если их хваленый скрипт продаст обычному человеку, но с неизвестным броузером, фантики…

Вы купили билеты у руководства кинотеатра?

Покупать билеты лично у директора кинотеатра в присутствии нотариуса? К этом ни я, ни он не готовы ;)
Но и покупать билеты через агрегатора я, кстати, не вижу смысла. Что оригинальный сайт, что агрегатор находятся на расстоянии клика мышки.
UFO just landed and posted this here
Кинотеатр никак не обязан этому агрегатору


Кто-то получил деньги за билет-фантик.
Кто-то мошенник.
UFO just landed and posted this here
Не может такого быть.
Если билет продан — в базе кинотеатра от отмечен как проданный. Если отмечен — значит кинотеатр получил (или намерен получить) деньги.
Если кинотеатр деньги получил, но билет не признает — налицо мошенничество.
Вы проиграете спор, потому что представляете действительность, в которой люди большинство действий делает на основе целого вороха эмоций, непонятных верований и комплексов. Оппонировать вам просто и красиво, поскольку логика и всем хочется ощущать себя разумными а не эмоциональными. Да, большое количество после проблем на агрегаторе перестанет покупать билет в кинотеатр, если есть не менее удобная альтернатива. Кинотеатру нужно проявить инициативу, потерять некоторое время, чтобы загладить впечатление, в котором он не виновен. Более того, жертва агрегатора ещё и в соц. сеть напишет, упомянув кинотеатр. И через неделю читатели, выбирая куда-то пойти, ощутят неясное давление, вроде как читали, вроде как был скандал, вроде кто-то виноват, не вспомнить теперь, лучше закажу билет в другой кинотеатр. И это ещё если в агрегатора нет хорошего пиарщика или пристойной репутации. Так действуют настоящие кожаные люди, потому подмена мест, вроде как логична для оторванного от реальности мозга программиста, может очень неприятно закончиться для кинотеатра в серой реальности.
UFO just landed and posted this here
Если билет продан — в базе кинотеатра от отмечен как проданный.

Давайте начнем с того, что билет кинотеатром продан не вам, а аггрегатору.


То есть, отправить папу, чтобы тот купил билеты в кино всему семейству, уже нельзя? Билет продан Васе Пупкину, а в кино идет Гена Шишкин — это недопустимо?

Потому, что оплата проведена с его (аггрегатора) карточки. То есть с вами кинотеатр ни в каких отношениях не состояит.


Это какая-то ооооочень запутанная схема получается. Деньги с карточки Васи Пупкина списаны, на счет агрегатора еще не поступили. Агрегатор покупает билет за свои деньги? Я бы так не делал.

Кстати… Вообще неплохая идея печатать на билете данные того, кому билет продан. Имя, фамилию, e-mail. Указанные при регистрации на сайте кинотеатра, разумеется :-)


В кино обязательно ходить с паспортом?
UFO just landed and posted this here
С точки зрения пользователей агрегаторы очень полезны. Не надо лазить по гуглам яндексам и тыкаться в разные кинотеатры и смотреть где что и почем, в агрегаторе все на одной странице и часто фильтры по нужным параметрам. Если какой кинотеатр будет сопротивляться и зажимать свою информацию, тот в итоге останется без продаж.
Отели давно уже не воюют с агрегаторами и даже со своих сайтов отправляют делать заказ к аргегатору. Авиакомпании тоже не против продаж билетов через агрегаторы. Почему кинотеатры сопротивляются — мне непонятно вообще, если они получают продажи. Видимо владелец сайта кинотеатра хочет построить на сайте кинотеатра свой какой-то мелкий бизнес, что является еще бОльшим паразитизмом, чем агрегация.
Контент типа текстов с авторскими правами — это вообще другая тема и ее сюда не надо мешать.
Видимо, есть некая критическая точка популярности аггрегаторов. До нее имеет смысл зажимать контент, и развивать собственный бренд и узнаваемость в сети. Когда же она пройдена, то надо принять правила игры, отдать аггрегаторам все, и смириться с ролью производителя коммодити.
Написать в жс сайта код который будет майнить крипту, и чтобы без этого контент не рендерился. По сути это уже будут товарно денежные отношения с ботом, то есть платное АПИ =)
Было бы желание ) Поведение живого пользователя на сайте наверняка отличается от поведения бота. Если посмотреть для примера selenium, то он перемещает курсор на нужное место мгновенно, а значения в форму накидывает не менее молниеносно.
Если написать скрипт, который бы анализировал характеристики агента, то отличить бота от человека будет довольно просто.
Заколебетесь отделять волков от агнцев) на тачскринах курсор перемещается мгновенно по дизайну, а поставить задержку в эмуляциях нажатий — одна строчка в теле цикла отпечатки строки…
Ну, опять же, было бы желание ) Заколебусь — или не заколебусь вопрос десятый, будет заказ — сделаю. Я хотел лишь показать, что это наверняка возможно с довольно большой точностью.
В примере с тачскрином, живой человек может промахиваться по элементам, совершает лишние движения, нажимает на элементы в разных местах, время сессии у живого человека при достижении цели навигации будет больше.
Автор откровенно лукавит.
Некоторые средства защиты типа серверного рендеринга в картинку с слегка меняющимся фоном на сервере реализуются проще, чем дальнейшая с ними борьба.
Некоторые средства защиты усложняющие работу с сайтом для бота, вроде кастомного поля ввода CVV у желтого банка, для пользователей наоборот полезны — они защищают их от ботов которые не контент воруют, а данные кредиток.
Если скрапингом занимается агрегатор с десятка сайтов, из которых скажем у 7 стоит защита, то агрегатору придется реализовывать обход 7 раз, а владельцу сайта делать защиту только один раз.
Автор проигнорировал также возможное нарушение закона при скраппинге и возможные ответы на это как законные: суды, штрафы, блокировки, так и не очень: DDoS, взлом, физическое воздействие.
Ну и в целом для начала нужно решить может от скраппинга вашего сайта пользы больше, чем вреда, и с хозяином бота можно договорится. Чтобы он указывал ваше авторство (если вы СМИ), свою наценку (если он агрегатор билетов), не хранил данные пользователя и явно писал, что он не официальный клиент (если вы админ госсайта и по ошибке зашли на Хабр).
Если текст можно срендерить в картинку, почему нельзя разрендерить обратно? Если там добавляется сложный фон (чтобы нельзя было адекватно распознать), то это неудобство пользователей (выгодее не мешать ботам).

Касательно кастомного ввода поля и т.п. — если пользователь может ввести это из браузера, бот это тоже может сделать, нет ничего сложного скрапить через Chrome/Firefox, любой другой живой браузер и выполнять любые живые действия.
У меня пару лет назад один бот тоже повадился скачивать информацию. Причем бот был явно тупой, всегда приходил с одного ip. Проблем он не создавал, но было обидно, поэтому я ему выдавал левую информацию.
У меня всего на одном сайте стоит фильтр для ботов. И я скажу так. То бот хотя бы один заходит практически каждую минуту.
Пытаются делать какие-то непонятные действия например
/wls-wsat/CoordinatorPortType
check.proxyradar.com/azenv.php?auth=***********3&a=PSCMN&i=**************&p=80
web-dengi.net/HttpRequest/checkPoxy.ashx?ip=**********&port=80
/phpMyAdmin/scripts/setup.php (miublackcat)
Потом как-то долго был бот Мичеганского университета researchscan192.eecs.umich.edu который перебирал по алфавиту все доменные имена и пытался по ним получить доступ к моему ip-адресу.

Боюсь что такая же картина наблюдается на всех без исключения сайтах.
Почему-то ни в статье, ни в каментах никто не поднял вопрос, как же будет справляться скрапер сайта с JavaScipt-рендерингом **БЕЗ** всяких штук типа headless browser. Потому что дорогие по ресурсам.
как же будет справляться скрапер сайта с JavaScipt-рендерингом **БЕЗ** всяких штук типа headless browser

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

Если заморачивается тут уж что проще и дешевле тащить из кэша гугла или подключать headless browser. В некоторых случаях, даже перепечатывания илии копипаст информации человеком — оправданы.
Мы парсим для мониторинга цен профессионально много и сочно (https://xmldatafeed.com) и скажу так — да, совершенно бесполезная задача блокировки парсеров. Собирая данные с ТОП100 магазинов — мы сталкивались с совершенно разными механизмами блокировок, но… итог один — данные собираются.
Sign up to leave a comment.

Articles