У меня есть довольно большой музыкальный веб-сайт с большой базой данных художника. Я замечал другие музыкальные сайты, очищающие данные нашего сайта (я ввожу фиктивные Имена художника тут и там и затем гуглю, ищет их).
Как я могу предотвратить анализ экранных данных? Это даже возможно?
Если для вашего контента используется капча, это означает, что роботам будет сложно получить доступ к вашему контенту. Однако людям это будет неудобно, поэтому это может быть нежелательно.
Хорошо, как говорится во всех сообщениях, если вы хотите сделать его удобным для поисковых систем, то боты точно могут очистить его.
Но вы все равно можете делать несколько вещей, и это может быть эффективным для 60-70% парсеров-ботов.
Создайте сценарий проверки, как показано ниже.
Если определенный IP-адрес посещается очень быстро, то после нескольких посещений (5-10) поместите его IP-адрес + информацию о браузере в файл или базу данных.
(Это будет фоновый процесс и будет выполняться все время или по расписанию через несколько минут.) Создайте еще один сценарий, который будет продолжать проверять эти подозрительные IP-адреса.
Случай 1. Если пользовательский агент относится к известной поисковой системе, такой как Google, Bing , Yahoo (дополнительную информацию о пользовательских агентах можно найти в Google). Тогда вы должны увидеть http://www.iplists.com/ . Этот список и попробуйте сопоставить шаблоны. И если это похоже на поддельный пользовательский агент, попросите заполнить CAPTCHA при следующем посещении. (Вам нужно немного больше узнать об IP-адресах ботов. Я знаю, что это достижимо, а также попробуйте Whois IP-адреса. Это может быть полезно.)
Случай 2. Отсутствие пользовательского агента поискового бота: просто попросите заполните CAPTCHA при следующем посещении.
Это не тот ответ, который вам, вероятно, нужен, но зачем скрывать то, что вы пытаетесь обнародовать?
Я согласен с большинством сообщений выше, и я хотел бы добавить, что чем более дружественным к поисковым системам является ваш сайт, тем более пригодным для соскабливания он будет. Вы можете попробовать сделать пару вещей, которые очень нестандартны и усложняют работу скреперов, но это также может повлиять на вашу поисковую пригодность... Конечно, это зависит от того, насколько хорошо вы хотите, чтобы ваш сайт ранжировался в поисковых системах.
Вы не можете остановить обычную очистку экрана. Хорошо это или плохо, но такова природа Интернета.
Вы можете сделать так, чтобы никто не мог получить доступ к определенным вещам (включая музыкальные файлы), если они не вошли в систему как зарегистрированный пользователь. Это не так уж сложно сделать в Apache . Я полагаю, это будет не так уж сложно сделать и в IIS.
Вместо того, чтобы вносить ботов в черный список, возможно, вам стоит занести их в белый список. Если вы не хотите уничтожать результаты поиска для нескольких самых популярных систем, вы можете внести их строки пользовательского агента в белый список, которые, как правило, широко освещаются. Менее этичные боты склонны подделывать строки пользовательских агентов популярных веб-браузеров. Несколько ведущих поисковых систем должны привлекать более 95% вашего трафика.
Идентификация самих ботов должна быть довольно простой, с использованием методов, предложенных на других плакатах.
Есть несколько вещей, которые вы можете сделать, чтобы попытаться предотвратить скрейпинг. Некоторые из них не очень эффективны, другие (CAPTCHA) эффективны, но мешают удобству использования. Вы также должны помнить, что это может помешать законным скрепам сайта, например, индексам поисковых систем.
Однако я полагаю, что если вы не хотите, чтобы сайт скребли, значит, вы также не хотите, чтобы поисковые системы его индексировали.
Вот некоторые вещи, которые вы можете попробовать:
Если бы мне пришлось делать это, я бы, вероятно, использовал комбинацию из трех последних вариантов, потому что они минимизируют неудобства для законных пользователей. Однако вам придется признать, что вы не сможете заблокировать всех таким образом, и как только кто-то поймет, как это обойти, он сможет скреативить навсегда. Тогда вы можете просто попытаться блокировать их IP-адреса по мере их обнаружения, я думаю.
Предполагаю, что вы настроили robots.txt
.
Как уже упоминалось, скреперы могут подделывать практически все аспекты своей деятельности, и, вероятно, очень сложно идентифицировать запросы, исходящие от злоумышленников.
Я бы подумал:
/jail.html
. robots.txt
(чтобы уважаемые пауки никогда не заходили). display: none
). /jail.html
. Это может помочь вам быстро идентифицировать запросы от парсеров, которые грубо игнорируют ваш robots.txt
.
Вы также можете сделать свой /jail.html
целым веб-сайтом с такой же точной разметкой, что и обычные страницы, но с поддельными данными ( / jail / album / 63ajdka
, / jail / track / 3aads8
и т. Д.). Таким образом, плохие парсеры не будут предупреждены о «необычном вводе», пока у вас не будет возможности полностью заблокировать их.
Подать в суд на них.
Серьезно: если у вас есть деньги, поговорите с хорошим, милым, молодым юристом, который разбирается в Интернете. Вы действительно могли бы здесь что-то сделать. В зависимости от того, где расположены сайты, вы можете попросить юриста составить протокол о прекращении противоправных действий или его аналог в вашей стране. Вы можете хоть ублюдков напугать.
Задокументируйте вставку фиктивных значений. Вставьте фиктивные значения, которые четко (но неясно) указывают на вас. Я думаю, что это обычная практика для компаний, занимающихся телефонными книгами, и здесь, в Германии, я думаю, было несколько случаев, когда подражателей ловили через поддельные записи, которые они копировали 1: 1.
Было бы обидно, если бы это привело к тому, что вы испортили свой HTML-код, снизили SEO, валидность и другие вещи (даже если система шаблонов, которая использует немного другую структуру HTML для каждого запроса идентичных страниц, уже может помочь лот против парсеров, которые всегда полагаются на структуры HTML и имена классов / идентификаторов для вывода содержимого.)
Подобные случаи - это то, для чего законы об авторском праве хороши. Подрывать честный труд других людей, чтобы заработать деньги, - это то, с чем вы должны иметь возможность бороться.
Ваш лучший вариант, к сожалению, довольно ручной: ищите шаблоны трафика, которые, по вашему мнению, указывают на очистку, и запрещайте их IP-адреса.
Поскольку вы говорите об общедоступном сайте, то создание дружественного поисковой системы к сайту также сделает сайт удобным для парсинга. Если поисковая система может сканировать и очищать ваш сайт, то вредоносный скребок также может. Это тонкая грань, по которую можно идти.
Извините, это действительно довольно сложно сделать...
Я бы посоветовал вам вежливо попросить их не использовать ваш контент (если ваш контент защищен авторским правом).
Если это так, и они не снимите его, то вы можете предпринять более решительные действия и отправить им прекратить и воздерживаться от письма .
Как правило, все, что вы делаете для предотвращения соскоба, вероятно, в конечном итоге приведет к более негативному эффекту, например, доступность, боты / пауки и т. Д.
Экранные скреперы работают путем обработки HTML. И если они решили получить ваши данные, вы мало что можете сделать технически, потому что человеческий глаз обрабатывает все, что угодно. Юридически, как уже было отмечено, у вас могут быть некоторые средства правовой защиты, и я бы рекомендовал именно это.
Однако вы можете скрыть критическую часть ваших данных, используя не-HTML логику представления
Имейте в виду, что это, вероятно, повлияет на рейтинг в поисковой выдаче.
Предоставить XML API для доступа к вашим данным; простым в использовании способом. Если люди хотят ваши данные, они их получат, вы также можете сделать все возможное.
Таким образом, вы можете эффективно предоставить подмножество функциональности, гарантируя, что, по крайней мере, скребки не будут поглощать HTTP-запросы и огромные объемы пропускной способности.
Тогда все, что вам нужно сделать, это убедить людей, которые хотят, чтобы ваши данные использовали API. ;)
На самом деле вы ничего не можете сделать, чтобы полностью предотвратить это. Скребки могут подделывать свой пользовательский агент, использовать несколько IP-адресов и т. Д. И появляться как обычный пользователь. Единственное, что вы можете сделать, это сделать текст недоступным во время загрузки страницы - сделать его с изображением, флэшем или загрузить его с помощью JavaScript. Тем не менее, первые две — плохие идеи, а последняя будет проблемой доступности, если JavaScript не включен для некоторых из ваших постоянных пользователей.
Если они абсолютно захлопывают ваш сайт и пробираются через все ваши страницы, вы можете сделать какое-то ограничение скорости.
Однако есть некоторая надежда. Скребки полагаются на то, что данные вашего сайта находятся в согласованном формате. Если бы вы могли рандомизировать его каким-то образом, это могло бы сломать их скребок. Такие вещи, как изменение идентификатора или имен классов элементов страницы при каждой загрузке и т. Д. Но это большая работа, и я не уверен, стоит ли она того. И даже тогда они, вероятно, могли бы обойти это с достаточной самоотдачей.
Конечно, это возможно. Для 100% успеха, отведите свой сайт в автономный режим.
На самом деле вы можете делать некоторые вещи, которые делают соскоб немного сложнее. Google проверяет браузер, чтобы убедиться, что вы не робот, парсинг результатов поиска (хотя это, как и большинство других, может быть подделано).
Вы можете сделать такие вещи, как потребовать несколько секунд между первым подключением к вашему сайту и последующими щелчками. Я не уверен, какое идеальное время было бы или как именно это сделать, но это другая идея.
Я уверен, что есть несколько других людей, которые имеют гораздо больше опыта, но я надеюсь, что эти идеи, по крайней мере, несколько полезны.
Сгенерируйте HTML, CSS и JavaScript. Писать генераторы проще, чем парсеры, поэтому вы можете генерировать каждую обслуживаемую страницу по-разному. Тогда вы больше не сможете использовать кэш или статическое содержимое.