Главная страница
Навигация по странице:

  • Торговые марки, авторские права, патенты… спасите- помогите!

  • Закон об авторском праве.

  • Посягательство на движимое имущество

  • Придержите ваши боты!

  • Акт о компьютерном мошенничестве и злоупотреблении

  • Файл robots.txt и условия использования

  • Современный_скрапинг_веб_сайтов_с_помощью_Python_2021_Райан_М. Руководство по решению его наиболее распространенных задач


    Скачать 3.96 Mb.
    НазваниеРуководство по решению его наиболее распространенных задач
    Дата01.03.2023
    Размер3.96 Mb.
    Формат файлаpdf
    Имя файлаСовременный_скрапинг_веб_сайтов_с_помощью_Python_2021_Райан_М.pdf
    ТипРуководство
    #961920
    страница5 из 6
    1   2   3   4   5   6
    Глава 18. Законность и этичность веб-скрапинга
    В 2010 году инженер-программист Пит Уорден (Pete Warden)
    разработал веб-краулер для сбора данных из Facebook. Он собрал данные примерно 200 миллионов пользователей соцсети: имена, места жительства, сведения о друзьях и интересах. Конечно же, в Facebook это заметили и стали слать
    Уордену письма-предупреждения о нарушении прав интеллектуальной собственности, к которым он прислушался.
    Когда Уордена спросили, почему он подчинился требованиям прекратить нарушать правила, он ответил: «Большие данные дешевы, а вот адвокаты — нет».
    В этой главе вы познакомитесь с законами США (и некоторыми международными законами), имеющими отношение к веб-скрапингу, и узнаете, как оценить степень законности и этичности веб-скрапинга в той или иной ситуации.
    Прежде чем приступить к чтению раздела ниже,
    констатирую очевидный факт: я не юрист, я инженер- программист. Не интерпретируйте то, что вы прочтете здесь или в любой другой главе этой книги, как профессиональную юридическую консультацию. Я действительно считаю, что могу компетентно обсуждать законность и этичность веб-скрапинга.
    Однако прежде, чем начинать какие-либо юридически неоднозначные проекты по веб-копированию, вам следует проконсультироваться с юристом (а не с инженером- программистом).
    Цель главы — дать вам основы, которые позволят изучать и обсуждать различные аспекты законности веб-скрапинга,
    такие как интеллектуальная собственность,
    несанкционированный доступ к компьютеру и использование
    сервера. Однако это не заменит вам настоящую юридическую консультацию.
    Торговые марки, авторские права, патенты… спасите-
    помогите!
    Пора пройти краткий курс по основам интеллектуальной собственности! Есть три основных ее типа: торговые марки
    (обозначаемые символом TM или
    ), авторские права
    (вездесущий ) и патенты (иногда обозначаемые текстом, где написано, что данное изобретение защищено патентом, или номером патента, но часто не обозначаемые вообще никак).
    Патенты используются только для объявления прав собственности на изобретения. Нельзя запатентовать изображение, текст или любую другую информацию. Впрочем,
    некоторые патенты, например на программное обеспечение,
    менее материальны, чем то, что мы привыкли считать изобретениями, однако имейте в виду: патентуется вещь (или методика), а не информация, содержащая ся в патенте. Если вы не создаете что-то по чертежам, собранным с помощью веб- скрапинга, и не пользуетесь методом веб-скрапинга, который запатентовал кто-то другой, то вряд ли случайно нарушите какой-либо патент, просто выполнив веб-скрапинг сайта.
    Торговые марки также вряд ли будут проблемой, однако их уже необходимо учитывать. Патентное ведомство США
    утверждает следующее:
    Торговая марка — это слово, фраза, символ и/или дизайн,
    которые идентифицируют и отличают источник товаров одной компании от товаров другой. Знак обслуживания — это слово,
    фраза, символ и/или дизайн, который идентифицирует и отличает источник услуг, а не товаров. Термином «торговая
    марка» часто обозначают не только сами торговые марки, но и знаки обслуживания.
    Помимо традиционного брендинга с помощью слов и символов, который мы имеем в виду, когда говорим о торговых марках, бывают и другие описательные атрибуты. Это может быть, например, форма контейнера (вспомните бутылки Coca-
    Cola) или даже цвет (сразу вспоминается розовый цвет стекловолоконной изоляции Owens Corning Pink Panther).
    В отличие от патентов, право собственности на торговую марку сильно зависит от контекста, в котором она используется. Например, захотев опубликовать пост в блоге и сопроводить его изображением логотипа Coca-Cola, я могу это сделать (если только не намекаю на то, что спонсором или автором моего поста является Coca-Cola). Захоти я изготовить новый безалкогольный напиток и поставить на упаковке такой же логотип, как у Coca-Cola, — это было бы явно незаконным использованием торговой марки. Точно так же я могу изобразить на упаковке своего нового безалкогольного напитка
    Розовую Пантеру, однако не могу задействовать этот же цвет при создании утеплителя для стен.
    Закон об авторском праве. У торговых марок и патентов есть общая черта: их признают только в том случае, если они официально зарегистрированы. Вопреки распространенному мнению, это не относится к материалам, защищенным авторским правом. Что делает изображения, текст, музыку и т.п. защищенными авторским правом? Не предупреждение
    «Все права защищены», написанное внизу страницы, и вообще ничего, что отличало бы опубликованные материа лы от неопубликованных. Каждый созданный вами материал автоматически подпадает под действие закона об авторском праве сразу же после того, как вы его создали.

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

    Материалы, которые публикуются дословно (в отличие от агрегированных или вычисленных на основе необработанных данных веб-скрапинга), могут не нарушать закон об авторском праве, если эти данные представляют собой цены, имена руководителей компаний или какую-либо другую фактическую информацию.
    Даже материал, защищенный авторским правом, может быть использован напрямую — в разумных пределах — в соответствии с Законом о защите авторских прав в цифровую эпоху (Digital Millennium Copyright Act, DMCA). В Законе изложены некоторые правила автоматической обработки материалов, защищенных авторским правом. Текст DMCA
    длинный, со множеством подробных правил, регулирующих все: от электронных книг до телефонов. Тем не менее в нем есть два основных момента, которые могут иметь особое отношение к веб-скрапингу.
    • Вы в «зоне безопасности», если извлекаете информацию из источника, который, по вашему мнению, содержит только материалы, не защищенные авторским правом, однако пользователь предоставил защищенные сведения. Все в порядке, если вы удалили данные, защищенные авторским правом, сразу после получения уведомления.
    • Собирая контент, вы не имеете права обходить меры безопасности (такие как защита паролем).
    Короче говоря, вы никогда не должны публиковать защищенные авторским правом материалы напрямую, без разрешения первоначального автора или правообладателя.
    Если вы храните защищенный авторским правом материал, к которому у вас есть свободный доступ, в своей непубличной базе данных с целью анализа — все в порядке. А вот
    опубликовав эту базу на своем сайте для просмотра или скачивания, вы поступите нехорошо. Если вы анализируете эту
    БД и публикуете статистику по количеству слов, список авторов в порядке плодовитости или выводите другие результаты метаанализа данных — это нормально. Сопровождение этого метаанализа несколькими избранными цитатами или краткими образцами данных с целью подтвердить свою точку зрения — вероятно, тоже допустимо, но для надежности стоит свериться с положением о правомерном использовании в своде законов США.
    Посягательство на движимое имущество
    Посягательство на движимое имущество принципиально отличается от того, что мы называем «нарушением закона о владении собственностью», в том смысле, что оно распространяется не на недвижимость или землю, а на движимое имущество (такое как сервер). Этот закон применяется в тех случаях, когда ваш доступ к собственности нарушается неким образом: вы не можете либо получить к ней доступ, либо использовать ее.
    В эпоху облачных вычислений заманчиво забыть, что веб- серверы — это реальные, материальные ресурсы. Однако серверы не только состоят из дорогих компонентов. Их еще нужно хранить, контролировать, охлаждать и снабжать огромным количеством электроэнергии. По ряду оценок, 10 %
    мирового потребления электроэнергии приходится на компьютеры
    29
    . (Если вы подсчитали, сколько потребляет вся ваша электроника, и все еще в чем-то сомневаетесь, то посмотрите на необозримые серверные фермы Google, которые необходимо подключать к крупным электростанциям.)

    Серверы являются дорогостоящими ресурсами, однако с юридической точки зрения интересны следующим: веб- мастера, как правило, действительно хотят, чтобы люди применяли их ресурсы (то есть получали доступ к их сайтам);
    они лишь не хотят, чтобы пользователи потребляли слишком
    много ресурсов. Одно дело — посмотреть сайт через браузер, и совсем другое — запустить полномасштабную DDoS-атаку.
    Есть три критерия, определяющих, совершил ли веб- скрапер посягательство на движимое имущество.
    Отсутствие согласия. Поскольку веб-серверы являются общедоступными, они, как правило, «дают согласие» и на веб-скрапинг. Однако на многих сайтах соглашения о предоставлении услуг прямо запрещают использование веб- скраперов. Кроме того, любые доставленные вам предупреждения о нарушении прав интеллектуальной собственности явно аннулируют это согласие.
    • Фактический вред. Серверы стоят дорого. Помимо стоимости самого сервера, если из-за ваших веб-скраперов сайт выйдет из строя или ограничится его способность обслуживать других пользователей, то это может быть расценено как вред, который вы причинили.
    • Преднамеренность. Если вы написали код, то наверняка знали, что он делает!
    Чтобы на вас подали заявление о нарушении правил использования, вы должны соблюсти все три эти критерия.
    Однако если вы нарушите соглашение об условиях обслуживания, но не причините реального вреда, то не думайте, что застрахованы от судебных исков. Вы вполне можете нарушить закон об авторском праве, DMCA, Акт о
    компьютерном мошенничестве и злоупотреблении (подробнее о нем см. далее) или еще какой-либо из множества других законов, применимых к веб-скраперам.
    Придержите ваши боты!
    Были времена, когда веб-серверы были гораздо мощнее, чем персональные компьютеры. Фактически под сервером всегда подразумевался большой компьютер. Сейчас положение немного изменилось. Например, частота процессора моего персонального компьютера составляет 3,5 ГГц, а объем оперативной памяти — 8 Гбайт. И напротив, средний вычислительный узел Amazon (на момент написания этой книги) имел 4 Гбайт оперативной памяти и около 3 Ггерц вычислительной мощности.
    При хорошей скорости подключения к Интернету и наличии выделенного компьютера достаточно одного персонального компьютера, чтобы создать большую нагрузку на многие сайты и даже причинить им вред или полностью вывести из строя. Если речь не идет о скорой медицинской помощи, при которой только сбор всех данных с сайта Васи Пупкина за две секунды спасет жизнь пациента, — нет причин бомбардировать сайт своими запросами.
    Управляемый бот никогда не завершает работу. Иногда лучше включить веб-краулер на ночь, чем днем или вечером, и на то есть следующие причины.

    Имея в распоряжении около восьми часов, даже при черепашьей скорости две секунды на страницу можно просмотреть более 14 000 страниц. Когда время не является проблемой, нет соблазна увеличивать скорость веб-краулеров.
    Если предположить, что целевая аудитория сайта географически находится там же, где и вы (для удаленных целевых аудиторий внесите соответствующие коррективы), то в ночное время нагрузка на сайт должна значительно снижаться. Это значит, что ваш сбор данных не совпадет с временем пикового трафика.
    Вы экономите время — спите вместо того, чтобы то и дело проверять журналы на наличие новой информации.
    Подумайте о том, какой сюрприз вас будет ждать утром в виде порции свежих данных!
    Рассмотрим следующие сценарии:
    у вас есть веб-краулер, просматривающий сайт Васи
    Пупкина, собирая с него некоторые или все данные;
    у вас есть веб-краулер, просматривающий несколько сотен небольших сайтов, собирая с них некоторые или все данные;
    у вас есть веб-краулер, просматривающий очень большой сайт, такой как «Википедия».
    В первом случае лучше оставить бот работать на ночь и медленно.

    Во втором лучше обращаться к каждому сайту по очереди —
    вместо того чтобы работать медленно, перебирать их по одному. В зависимости от количества сканируемых сайтов это значит, что вы можете собирать данные с той скоростью,
    которую способны обеспечить ваше интернет-соединение и компьютер, и при этом нагрузка на каждый из удаленных серверов останется в разумных пределах. Это можно сделать программно, используя несколько потоков (так что каждый из них будет проверять свой сайт и приостанавливать свое выполнение), или же задействовать списки Python для отслеживания сайтов.
    В третьем варианте нагрузка, которую ваше интернет- соединение и домашний компьютер могут создать для такого сайта, как «Википедия», вряд ли будет замечена или вызовет беспокойство. Но вот если вы используете распределенную сеть машин — тогда, очевидно, другое дело. Соблюдайте осторожность и по возможности обратитесь к представителю компании.
    Акт о компьютерном мошенничестве и злоупотреблении
    В начале 1980-х компьютеры начали выходить из академических аудиторий и проникать в мир бизнеса. Впервые вирусы и «черви» стали восприниматься как нечто большее,
    чем просто неудобство (или даже забавное хобби), — серьезное уголовное преступление, способное причинить материальный ущерб. Наконец, в 1986 году появился Акт о компьютерном
    мошенничестве и злоупотреблении (Computer Fraud and Abuse
    Act, CFAA).
    На первый взгляд может показаться, что этот закон касается только обычных злостных хакеров, распространяющих вирусы,
    однако он имеет серьезные последствия и для веб-скраперов.
    Представьте скрапер, который сканирует сеть в поисках форм аутентификации с легко угадываемыми паролями или же собирает государственные секреты, случайно оказавшиеся в скрытом, но доступном месте. В соответствии с CFAA все описанные действия являются незаконными (и это справедливо).
    Закон определяет семь основных уголовных преступлений,
    которые можно кратко описать следующим образом:
    • намеренный несанкционированный доступ к компьютерам,
    принадлежащим правительству США, и получение с них информации;
    • намеренный несанкционированный доступ к компьютеру и получение финансовой информации;
    • намеренный несанкционированный доступ к компьютеру,
    принадлежащему правительству США, повлиявший на использование этого компьютера правительством;
    • намеренный доступ к любому защищенному компьютеру с попыткой обмана;
    • намеренный доступ к компьютеру без разрешения и причинение ущерба этому компьютеру;
    • разглашение или передача паролей либо информации об авторизации на компьютерах, используемых
    правительством США, или компьютерах, которые оказывают влияние на межгосударственную или внешнюю торговлю;
    • попытки вымогательства денег или «чего-либо ценного»
    путем нанесения ущерба или угрозы причинить вред любому защищенному компьютеру.
    Короче говоря: держитесь подальше от защищенных компьютеров, не заходите на компьютеры (в том числе на веб- серверы), к которым у вас нет доступа, и особенно держитесь подальше от компьютеров, принадлежащих правительству или финансовым организациям
    30
    Файл robots.txt и условия использования
    С юридической точки зрения условия использования сайта и файлы robots.txt находятся на интересной территории. Если сайт общедоступен, то право веб-мастера заявлять о том, что
    ПО может или не может получить к нему доступ, спорно. Было бы странным заявить, что «для просмотра данного сайта вы можете использовать браузер, но не программу, которую сами написали с этой целью».
    На большинстве сайтов в нижней части каждой страницы есть ссылка на страницу «Условия использования» (Terms of
    Service, TOS). Это нечто большее, чем просто правила для веб- краулеров и автоматического доступа; здесь часто содержатся сведения о том, какая информация собрана на веб-сайте, что с ней здесь делается, и, как правило, юридическое уведомление о том, что услуги, предоставляемые сайтом, не подразумевают неких явных или скрытых гарантий.
    Если вас интересуют оптимизация сайта для поисковых систем (Search Engine Optimization, SEO) или технологии
    поиска, то вы, вероятно, слышали о файле robots.txt. Зайдя почти на любой крупный сайт и поискав там файл robots.txt
    , его можно обнаружить в корневой веб-папке:
    http://website.com/robots.txt
    Синтаксис файлов robots.txt был разработан в 1994 году,
    еще во время первой волны технологии веб-поиска. Примерно в это же время поисковые системы, обыскивающие весь
    Интернет, такие как AltaVista и DogPile, начали всерьез конкурировать с простыми списками сайтов,
    организованными по темам, которые велись, в частности, на
    Yahoo!. Развитие поиска в Интернете привело к взрывному росту не только количества веб-краулеров, но и доступности для обычных людей информации, собираемой этими краулерами.
    Несмотря на то что сегодня мы привыкли считать такой вид доступности чем-то само собой разумеющимся, некоторые веб-мастера были шокированы, когда информация,
    опубликованная ими глубоко в файловой структуре своего сайта, стала появляться на первых страницах результатов поиска в основных поисковых системах. В ответ появился синтаксис файлов robots.txt под названием Robots Exclusion
    Standard — «стандарт исключения для роботов».
    В отличие от TOS, где о веб-краулерах часто говорится в широком смысле и на вполне человеческом языке, файл robots.txt может быть очень легко проанализирован и использован автоматизированными программами. На первый взгляд может показаться, что это идеальное средство окончательного решения проблемы нежелательных ботов,
    однако учтите следующее.
    • Никакого официального руководящего органа по синтаксису robots.txt нет. Это всего лишь широко распространенное
    и в целом хорошо соблюдаемое соглашение, но ничто не мешает кому угодно создать собственную версию файла robots.txt
    (кроме того факта, что ни один бот не сможет его распознать или выполнить, пока данный формат не станет популярным). Другими словами, мы имеем дело с широко распространенным соглашением — главным образом потому, что оно относительно простое и у компаний нет причин изобретать собственный стандарт или пытаться улучшить существующий.
    • Нет способа заставить кого-либо выполнять файл robots.txt
    . Файл — лишь знак, говорящий: «Пожалуйста,
    не заходите в эти части сайта». Есть множество библиотек веб-скрапинга, соблюдающие условия robots.txt (хотя это часто всего лишь настройка по умолчанию, которую можно изменить). Кроме того, часто встречаются и другие препятствия для выполнения условий robots.txt (в конце концов, вам нужно провести веб-скрапинг и синтаксический анализ содержимого страницы и применить к этому контенту логику вашего кода), которые не позволяют просто продвигаться вперед и выполнять веб-скрапинг всех нужных вам страниц.
    Синтаксис Robot Exclusive Standard очень прост. Как и в
    Python (и во многих других языках), комментарии здесь начинаются с символа #, заканчиваются символом новой строки и могут использоваться в любом месте файла.
    Первая строка файла после всех комментариев должна начинаться с User-agent:, после чего указывается пользователь, к которому применяются следу ющие правила.
    Далее идет набор правил: Allow: или Disallow: в зависимости от того, разрешается ли боту заходить в данный
    раздел сайта. Звездочка (*) является подстановочным знаком и может использоваться для описания User-agent или URL.
    Если последовательность правил кажется противоречивой,
    то последнее правило имеет приоритет. Например:
    # Welcome to my robots.txt file!
    User-agent: *
    Disallow: *
    User-agent: Googlebot
    Allow: *
    Disallow: /private
    В этом случае запрещается доступ любых ботов к любой точке сайта, за исключением бота Google, которому разрешается доступ куда угодно, кроме каталога
    1   2   3   4   5   6


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