Как я предотвращаю очистку сайта? [закрытый]

У меня есть довольно большой музыкальный веб-сайт с большой базой данных художника. Я замечал другие музыкальные сайты, очищающие данные нашего сайта (я ввожу фиктивные Имена художника тут и там и затем гуглю, ищет их).

Как я могу предотвратить анализ экранных данных? Это даже возможно?

287
задан Paul Sweatte 4 March 2014 в 09:22
поделиться

16 ответов

Если для вашего контента используется капча, это означает, что роботам будет сложно получить доступ к вашему контенту. Однако людям это будет неудобно, поэтому это может быть нежелательно.

0
ответ дан 23 November 2019 в 01:46
поделиться

Хорошо, как говорится во всех сообщениях, если вы хотите сделать его удобным для поисковых систем, то боты точно могут очистить его.

Но вы все равно можете делать несколько вещей, и это может быть эффективным для 60-70% парсеров-ботов.

Создайте сценарий проверки, как показано ниже.

Если определенный IP-адрес посещается очень быстро, то после нескольких посещений (5-10) поместите его IP-адрес + информацию о браузере в файл или базу данных.

Следующий шаг

(Это будет фоновый процесс и будет выполняться все время или по расписанию через несколько минут.) Создайте еще один сценарий, который будет продолжать проверять эти подозрительные IP-адреса.

Случай 1. Если пользовательский агент относится к известной поисковой системе, такой как Google, Bing , Yahoo (дополнительную информацию о пользовательских агентах можно найти в Google). Тогда вы должны увидеть http://www.iplists.com/ . Этот список и попробуйте сопоставить шаблоны. И если это похоже на поддельный пользовательский агент, попросите заполнить CAPTCHA при следующем посещении. (Вам нужно немного больше узнать об IP-адресах ботов. Я знаю, что это достижимо, а также попробуйте Whois IP-адреса. Это может быть полезно.)

Случай 2. Отсутствие пользовательского агента поискового бота: просто попросите заполните CAPTCHA при следующем посещении.

12
ответ дан 23 November 2019 в 01:46
поделиться
  1. Нет, это невозможно остановить (ни в коем случае)
  2. Примите это. Почему бы не публиковать как RDFa и не стать суперпоисковой системой и не поощрять повторное использование данных? Люди будут благодарить вас и давать должное (см. Например, musicbrainz).

Это не тот ответ, который вам, вероятно, нужен, но зачем скрывать то, что вы пытаетесь обнародовать?

6
ответ дан 23 November 2019 в 01:46
поделиться

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

1
ответ дан 23 November 2019 в 01:46
поделиться

Вы не можете остановить обычную очистку экрана. Хорошо это или плохо, но такова природа Интернета.

Вы можете сделать так, чтобы никто не мог получить доступ к определенным вещам (включая музыкальные файлы), если они не вошли в систему как зарегистрированный пользователь. Это не так уж сложно сделать в Apache . Я полагаю, это будет не так уж сложно сделать и в IIS.

1
ответ дан 23 November 2019 в 01:46
поделиться

Вместо того, чтобы вносить ботов в черный список, возможно, вам стоит занести их в белый список. Если вы не хотите уничтожать результаты поиска для нескольких самых популярных систем, вы можете внести их строки пользовательского агента в белый список, которые, как правило, широко освещаются. Менее этичные боты склонны подделывать строки пользовательских агентов популярных веб-браузеров. Несколько ведущих поисковых систем должны привлекать более 95% вашего трафика.

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

2
ответ дан 23 November 2019 в 01:46
поделиться

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

Однако я полагаю, что если вы не хотите, чтобы сайт скребли, значит, вы также не хотите, чтобы поисковые системы его индексировали.

Вот некоторые вещи, которые вы можете попробовать:

  • Показать текст в изображении. Это достаточно надежно и доставляет меньше хлопот пользователю, чем CAPTCHA, но это означает, что они не смогут вырезать и вставить текст, он не будет красиво масштабироваться или быть доступным.
  • Используйте CAPTCHA и требуйте ее заполнения перед возвратом на страницу. Это надежный метод, но и самая большая боль для пользователя.
  • Требуйте от пользователя регистрации аккаунта перед просмотром страниц и подтверждения адреса электронной почты. Это будет довольно эффективно, но не полностью - скрэйпер может создать учетную запись и хитро запрограммировать свой скрипт на вход в систему за него.
  • Если строка user-agent клиента пуста, заблокируйте доступ. Скрипт для скраппинга сайта часто бывает лениво запрограммирован и не задает строку user-agent, в то время как все веб-браузеры задают ее.
  • Вы можете создать черный список известных строк пользовательского агента скриптов-скраперов по мере их обнаружения. Опять же, это поможет только тем, кто лениво закодирован; программист, который знает, что делает, может установить строку user-agent, чтобы выдать себя за веб-браузер.
  • Часто меняйте путь URL. Когда вы его меняете, убедитесь, что старый путь продолжает работать, но только до тех пор, пока один пользователь может держать браузер открытым. Сделайте так, чтобы трудно было предсказать, каким будет новый путь URL. Это затруднит захват скриптами, если их URL жестко закодирован. Лучше всего сделать это с помощью какого-нибудь скрипта.

Если бы мне пришлось делать это, я бы, вероятно, использовал комбинацию из трех последних вариантов, потому что они минимизируют неудобства для законных пользователей. Однако вам придется признать, что вы не сможете заблокировать всех таким образом, и как только кто-то поймет, как это обойти, он сможет скреативить навсегда. Тогда вы можете просто попытаться блокировать их IP-адреса по мере их обнаружения, я думаю.

6
ответ дан 23 November 2019 в 01:46
поделиться

Предполагаю, что вы настроили robots.txt .

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

Я бы подумал:

  1. Создайте страницу /jail.html .
  2. Запретить доступ к странице в robots.txt (чтобы уважаемые пауки никогда не заходили).
  3. Разместите ссылку на одной из своих страниц, скрыв ее с помощью CSS ( display: none ).
  4. Запишите IP-адреса посетителей в /jail.html .

Это может помочь вам быстро идентифицировать запросы от парсеров, которые грубо игнорируют ваш robots.txt .

Вы также можете сделать свой /jail.html целым веб-сайтом с такой же точной разметкой, что и обычные страницы, но с поддельными данными ( / jail / album / 63ajdka , / jail / track / 3aads8 и т. Д.). Таким образом, плохие парсеры не будут предупреждены о «необычном вводе», пока у вас не будет возможности полностью заблокировать их.

239
ответ дан 23 November 2019 в 01:46
поделиться

Подать в суд на них.

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

Задокументируйте вставку фиктивных значений. Вставьте фиктивные значения, которые четко (но неясно) указывают на вас. Я думаю, что это обычная практика для компаний, занимающихся телефонными книгами, и здесь, в Германии, я думаю, было несколько случаев, когда подражателей ловили через поддельные записи, которые они копировали 1: 1.

Было бы обидно, если бы это привело к тому, что вы испортили свой HTML-код, снизили SEO, валидность и другие вещи (даже если система шаблонов, которая использует немного другую структуру HTML для каждого запроса идентичных страниц, уже может помочь лот против парсеров, которые всегда полагаются на структуры HTML и имена классов / идентификаторов для вывода содержимого.)

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

47
ответ дан 23 November 2019 в 01:46
поделиться

Ваш лучший вариант, к сожалению, довольно ручной: ищите шаблоны трафика, которые, по вашему мнению, указывают на очистку, и запрещайте их IP-адреса.

Поскольку вы говорите об общедоступном сайте, то создание дружественного поисковой системы к сайту также сделает сайт удобным для парсинга. Если поисковая система может сканировать и очищать ваш сайт, то вредоносный скребок также может. Это тонкая грань, по которую можно идти.

8
ответ дан 23 November 2019 в 01:46
поделиться

Извините, это действительно довольно сложно сделать...

Я бы посоветовал вам вежливо попросить их не использовать ваш контент (если ваш контент защищен авторским правом).

Если это так, и они не снимите его, то вы можете предпринять более решительные действия и отправить им прекратить и воздерживаться от письма .

Как правило, все, что вы делаете для предотвращения соскоба, вероятно, в конечном итоге приведет к более негативному эффекту, например, доступность, боты / пауки и т. Д.

21
ответ дан 23 November 2019 в 01:46
поделиться

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

Однако вы можете скрыть критическую часть ваших данных, используя не-HTML логику представления

  • Сгенерируйте Flash файл для каждого исполнителя/альбома и т.д.
  • Сгенерируйте изображение для каждого исполнителя. Возможно, будет достаточно просто изображения для имени исполнителя и т.д. Сделайте это путем рендеринга текста в JPEG/PNG файл на сервере и поставьте ссылку на это изображение.

Имейте в виду, что это, вероятно, повлияет на рейтинг в поисковой выдаче.

0
ответ дан 23 November 2019 в 01:46
поделиться

Предоставить XML API для доступа к вашим данным; простым в использовании способом. Если люди хотят ваши данные, они их получат, вы также можете сделать все возможное.

Таким образом, вы можете эффективно предоставить подмножество функциональности, гарантируя, что, по крайней мере, скребки не будут поглощать HTTP-запросы и огромные объемы пропускной способности.

Тогда все, что вам нужно сделать, это убедить людей, которые хотят, чтобы ваши данные использовали API. ;)

31
ответ дан 23 November 2019 в 01:46
поделиться

На самом деле вы ничего не можете сделать, чтобы полностью предотвратить это. Скребки могут подделывать свой пользовательский агент, использовать несколько IP-адресов и т. Д. И появляться как обычный пользователь. Единственное, что вы можете сделать, это сделать текст недоступным во время загрузки страницы - сделать его с изображением, флэшем или загрузить его с помощью JavaScript. Тем не менее, первые две — плохие идеи, а последняя будет проблемой доступности, если JavaScript не включен для некоторых из ваших постоянных пользователей.

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

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

35
ответ дан 23 November 2019 в 01:46
поделиться

Конечно, это возможно. Для 100% успеха, отведите свой сайт в автономный режим.

На самом деле вы можете делать некоторые вещи, которые делают соскоб немного сложнее. Google проверяет браузер, чтобы убедиться, что вы не робот, парсинг результатов поиска (хотя это, как и большинство других, может быть подделано).

Вы можете сделать такие вещи, как потребовать несколько секунд между первым подключением к вашему сайту и последующими щелчками. Я не уверен, какое идеальное время было бы или как именно это сделать, но это другая идея.

Я уверен, что есть несколько других людей, которые имеют гораздо больше опыта, но я надеюсь, что эти идеи, по крайней мере, несколько полезны.

7
ответ дан 23 November 2019 в 01:46
поделиться

Сгенерируйте HTML, CSS и JavaScript. Писать генераторы проще, чем парсеры, поэтому вы можете генерировать каждую обслуживаемую страницу по-разному. Тогда вы больше не сможете использовать кэш или статическое содержимое.

0
ответ дан 23 November 2019 в 01:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: