Что такое парсинг и как от него защититься
Парсинг сайта — это процесс автоматического сбора информации, размещенной на веб-ресурсе в открытом доступе. Для этого используется специальная программа (парсер), которая действует по заданным параметрам: собирает, систематизирует и преобразовывает определенные виды данных с указанных веб-сайтов. Как правило, парсингом занимаются бизнес-конкуренты, а также недобросовестные веб-мастера и администраторы сомнительных интернет-проектов. Защищать сайт от парсинга непросто, но делать это нужно — хотя бы самыми примитивными методами. Также полезно знать, как решается проблема с украденным контентом. О парсинге, его целях и защите от копирования текста читайте в нашей статье.
Что такое парсинг сайта
Парсинг (от англ. parsing — разбор, анализ) представляет собой процедуру, направленную на сбор данных со страниц интернет-ресурса при помощи специализированного программного обеспечения. Как это происходит: человек задает боту условия для поиска информации (что и где искать), запускает его, после чего программа начинает отправлять запросы на целевые веб-сайты, имитируя поведение пользователя. Она посещает веб-страницы, копирует код, находит в нем данные, отвечающие заданным параметрам, извлекает их и сохраняет в своей базе. Так, например, можно оперативно собрать контакты организаций, с которыми сотрудничает бизнес — особенно это эффективно, если таких партнеров много. Другими словами, парсинг — это способ ускорить исследование большого количества ресурсов и автоматизировать сбор нужных сведений.
Программы для парсинга сайтов называются парсерами (parsers). Это может быть онлайн-сервис, коробочный продукт или самописное решение — суть одна. Краулеры поисковых систем тоже парсят веб-ресурсы, но с более благородными целями: чтобы индексировать страницы и выдавать пользователям релевантный контент.
Иногда под этим понятием подразумевают также ручной копипаст, т. е. «кражу» информации без использования программных средств, силами человека. Формально это не то же самое, но в целом коррелирует с задачами парсинга и последствиями для SEO, с которыми сталкивается запарсенный сайт.
Зачем парсинг нужен и когда его используют
Как мы уже сказали, цель парсинга — быстро собрать и структурировать массивы разрозненных данных, чтобы в дальнейшем работать с ними было удобнее. Но кому и зачем может понадобиться информация с чужого сайта? Причин прибегнуть к парсингу довольно много.
Мы выделим три основных задачи, которые он решает:
- Анализ конкурентов. Сюда относятся парсинг цен, ассортимента, отслеживание динамики их изменения, а также изучение программного кода и SEO-данных: метатегов, семантического ядра и др. С помощью парсинга исследуют рынок перед формированием маркетинговой стратегии, нередко — перенимают какие-то функции и подходы к организации веб-проекта.
- Анализ собственной площадки. Так называемый «самопарсинг» — распространенный метод обнаружения ошибок, битых ссылок, дублированных или несуществующих страниц, неполных описаний и т. п. Этот вид парсинга помогает улучшить СЕО-показатели своего ресурса.
- Заимствование контента. Тот самый копипаст, которого опасается любой сайт. Статьи, описания товаров, авторские изображения и прочее парсится и переносится на другие площадки, из-за чего может нарушиться уникальность оригинального источника.
Какую информацию можно получить, используя парсер
Выше мы уже перечислили виды данных, которые можно спарсить. Главным образом, это текстовый контент, который является одним из важнейших инструментов продвижения в интернете. Уникальное наполнение делает сайт более полезным с точки зрения поисковых роботов. Плагиат не приветствуется, но иногда злоумышленникам удается фальсифицировать даты публикации, в результате чего украденный контент считается первоисточником. О том, как защищать тексты, мы поговорим чуть ниже.
Однако парсинг используют не только для кражи. С его помощью можно:
- узнать ценовую политику конкурентов, спарсив данные об акциях, прайсе, остатках, продажах и пр.;
- извлечь каталог с товарами у поставщика, если вручную это делать неудобно, и добавить в свой магазин;
- собрать обратные ссылки для оценки работы линкбилдера;
- составить клиентскую базу, собрав контакты пользователей в социальных сетях (например, подписчиков конкретных сообществ);
- улучшить SEO, изучив метаданные и семантику конкурирующих веб-ресурсов и т. д.
Любые сведения, которые находятся в открытом доступе, могут быть скопированы с помощью парсинга. В этом смысле возможности парсера (parser) ограничены не больше, чем возможности обычного пользователя.
Как защитить сайт от кражи текстов
Мы заостряем внимание на этом виде контента, поскольку он лежит в основе поискового продвижения и его парсинг негативно сказывается на первоисточнике самым прямым образом. Если тексты копируют, значит их куда-то вставляют — скорее всего, на другой сайт, который тоже будет проиндексирован. Речь идет не только об оригинальных статьях, но и об описаниях позиций и категорий в каталоге, об отзывах клиентов и комментариях, об информации в разделе «О нас» и другом уникальном текстовом контенте. К сожалению, полностью защититься от парсинга нельзя, ведь любое радикальное антипарсинговое решение так или иначе повлияет и на поисковых роботов, и на реальных посетителей. Тем не менее есть немало рабочих методов, которые если и не помогут уберечь сайт от профессионального парсинга, то хотя бы усложнят бездумный копипаст.
Запрет на выделение текста
Очевидный и довольно легкий в реализации способ — запретить выделять текст на странице. Если нет выделения — нет и автоматического копирования. Для этого достаточно внедрить в код отдельный CSS-стиль, который будет запрещать это действие. Вы можете добавить его на сайт самостоятельно, поскольку разобраться в таком микрокоде очень просто, или поручить соответствующее задание своему веб-мастеру — сложностей эта модификация не вызовет.
Важно понимать, что подобный запрет способен затруднить ручное копирование, но не препятствует программам для парсинга. Текст всегда можно достать из HTML-кода, доступ к которому есть у любого пользователя. Автоматический парсинг таким не остановить, однако неопытных копипастеров отвадить можно.
Запрет на копирование в буфер обмена
Похожий метод, но с немного другой механикой. В данном случае выделять и копировать слова разрешается, но поместить их в буфер обмена не представляется возможным. Реализовать такой запрет можно через простой скрипт, который добавляется на страницу и активируется при копировании.
Эффективность такая же, как у предыдущего способа: от парсинга не защитит (ведь парсер извлекает данные из кода), но усложнит жизнь плагиаторам. Особенно тем, кто не поленится «гуглить» решение этой задачки.
Подключение reCAPTCHA
Данный метод малоэффективен против людей, однако если внедрить на сайт защиту от ботов, автоматический парсинг может замедлиться. Капча работает следующим образом: когда посетитель веб-ресурса совершает операции, похожие на парсинг (слишком часто использует внутренний поиск, посылает одинаковые запросы через определенный промежуток времени или чересчур быстро для человека), на экране всплывает окно, требующее подтверждения, что действия совершаются не роботом. Примитивные парсеры могут застопориться на прохождении теста, а обычный пользователь без проблем его решит и продолжит свои дела. Сервис reCAPTCHA подходит для этого лучше всего, но, конечно, никто не запрещает научить сайт генерировать капчу самостоятельно.
Стоит отметить, что защита от парсинга с помощью теста «на человечность» не лишена минусов. Если парсер более-менее серьезный, то он обратится за решением в соответствующий сервис. Кроме того, капча может раздражать посетителей, если появляется слишком часто или сложна в прохождении.
Блокировка ботов по IP
Действенный метод, но сопряжен с некоторым риском. Чтобы парсеры не собирали данные, можно заблокировать их IP-адреса, тогда сервер не будет реагировать на такие запросы и отдавать информацию. Но сказать легко, а сделать — не очень. Определить айпи, с которого ведется парсинг, — та еще задача. Во-первых, боты используют рандомные заголовки. Во-вторых, весьма убедительно имитируют живого пользователя. В-третьих, они часто меняют прокси-сервера, т. е. обращаются с разных IP-адресов. Обнаружить программу для парсинга легче, если рейды на ваш сайт совершаются регулярно и давно: можно отследить, с каких адресов поступают идентичные запросы (вплоть до места нажатия кнопки — обычно бот-шпион жмет в одну и ту же точку), и ограничить им доступ к содержимому ресурса. Однако все это довольно опасно с точки зрения SEO. Яндекс и Google тоже отправляют на ваш сайт роботов, и спутать их с парсерами нетрудно. В итоге, пытаясь остановить парсинг, вы вставите себе палки в колеса и вылетите из индекса поисковиков. С блокировкой IP нужно быть крайне осторожным, чтобы не «задеть» адреса реальных клиентов.
С другой стороны, если сделать все правильно, прекратиться не только парсинг текстов, но и вообще любой информации с вашего веб-сайта — разумеется, от тех ботов, которые заблокированы.
Добавление ссылки при копировании текста
Еще один технически простой способ усложнить копипаст, который к тому же может принести дополнительную пользу в виде увеличения ссылочной массы веб-ресурса. Суть в том, чтобы внедрить на сайт скрипт, автоматически привязывающий к скопированному тексту ссылку на веб-страницу, с которой он и был скопирован. По стандарту она добавляется в конце, но при желании и нужных навыках можно отредактировать код скрипта, чтобы ссылка помещалась внутрь. Далеко не все плагиатчики занимаются удалением таких ссылок: иногда сознательно, а иногда просто не замечают.
Использование скрипта автозамены символов
Очередное вмешательство в программный код веб-проекта, требующее более продвинутых навыков в программировании, но зато приносящее куда больший эффект. Помогает защитить сайт от кражи текстов путем замены символов внутри него. Когда бот или человек копируют контент, java-скрипт подменяет кириллицу латиницей (или наоборот, если вы пишете, например, на английском), и полученная информация становится бессмысленной. Рядовой копипастер вряд ли захочет возиться с вашим кодом, чтобы все исправить. Но боту для парсинга, который отправляет собранные данные на автозаполняемые ресурсы, это не будет преградой. Во-первых, тексты там не проверяют, а во-вторых, если очень надо, он залезет в код, и парсинг в любом случае будет совершен.
Что делать при краже контента
Если защита от парсинга не сработала и ваши данные все же украли, есть несколько путей для решения этой проблемы. Для начала обратитесь к администраторам ресурса, на котором разместили украденный контент. Сообщите им, что вы можете доказать авторство текстов и воспользуетесь законом DMCA, если они не удалят их с площадки. Если сайт не участник «черных списков», это может сработать. В противном случае уведомите о факте кражи службы поддержки поисковых систем. К слову, если у вас спарсили весь проект или ресурс-плагиатор занял более высокую, чем ваша, позицию в выдаче, обращение к поисковикам обязательно. Процесс довольно долгий и малоэффективный, но лучше им не пренебрегать. Еще один вариант — связаться с хостинг-провайдером, обслуживающим вашего копипастера. Если последний нарушает авторское право систематически, а хостер дорожит своей репутацией, все может закончиться блокировкой домена-нарушителя.
В конце концов, вы действительно можете подать жалобу в соответствии с DMCA. Поскольку это американский закон, Google обязан будет отреагировать и почистить выдачу в пользу автора контента. Но дальнейший парсинг это, ясное дело, не остановит. Зачем и почему бы ни понадобилось парсить ваш веб-сайт, при должном уровне старания злоумышленник все равно добьется своего. Но вы можете максимально усложнить ему задачу.