Выскабливание поисковой системы

Материал из wikixw
Перейти к навигации Перейти к поиску

Поисковая очистка - это процесс сбора URL-адресов, описаний или другой информации из поисковых систем, таких как Google, Bing или Yahoo. Это специфическая форма очистки экрана или веб-очистки, предназначенная только для поисковых систем.

Чаще всего крупные поставщики поисковой оптимизации (SEO) зависят от регулярного выскабливания ключевых слов из поисковых систем, особенно Google, для мониторинга конкурентной позиции сайтов своих клиентов по релевантным ключевым словам или их статуса индексации.

Поисковые системы, такие как Google, не допускают никакого автоматизированного доступа к своему сервису , но с юридической точки зрения нет ни одного известного случая или нарушенного закона.

Процесс входа на сайт и извлечения данных в автоматическом режиме также часто называют "обходом". Поисковые системы, такие как Google, Bing или Yahoo, получают почти все свои данные от автоматических ползающих ботов.

Трудности[править]

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

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

  • Google тестирует пользовательский агент (тип браузера) HTTP-запросов и обслуживает другую страницу в зависимости от пользовательского агента. Google автоматически отклоняет пользовательские агенты, которые, по-видимому, происходят от возможного автоматизированного бота. [Часть страницы ошибок Google: пожалуйста, ознакомьтесь с условиями предоставления услуг Google, опубликованными по адресу http://www.google.com/terms_of_service.html ] типичным примером может быть использование браузера командной строки cURL, Google будет напрямую отказываться обслуживать любые страницы для него, в то время как Bing немного более снисходителен, Bing, похоже, не заботится о пользовательских агентах.
  • Google использует сложную систему ограничения скорости запросов, которая отличается для каждого языка, страны, пользователя-агента, а также зависит от ключевого слова и параметров поиска по ключевым словам. Ограничение скорости может сделать его непредсказуемым при автоматическом доступе к поисковой системе, поскольку модели поведения неизвестны стороннему разработчику или пользователю.
  • Сетевые и IP-ограничения также являются частью систем защиты от царапин. Поисковые системы нелегко обмануть, Перейдя на другой IP, в то время как использование прокси-серверов является очень важной частью успешного выскабливания. Разнообразие и оскорбительная история ИС также важны.
  • Нарушающие IP-адреса и нарушающие IP-сети могут быть легко сохранены в базе данных черного списка, чтобы гораздо быстрее обнаруживать нарушителей. Тот факт, что большинство интернет-провайдеров предоставляют клиентам динамические IP-адреса, требует, чтобы такие автоматические запреты были только временными, чтобы не блокировать невинных пользователей.
  • Обнаружение, основанное на поведении, является самой сложной системой защиты. Поисковые системы ежедневно обслуживают свои страницы миллионам пользователей, что обеспечивает большое количество информации о поведении. Скрипт выскабливания или бот ведет себя не так, как настоящий пользователь, помимо того, что у него нетипичное время доступа, задержки и время сеанса, собираемые ключевые слова могут быть связаны друг с другом или включать необычные параметры. Google, например, имеет очень сложную систему анализа поведения, возможно, использующую глубокое обучение программное обеспечение для обнаружения необычных моделей доступа. Он может обнаружить необычную активность гораздо быстрее, чем другие поисковые системы.
  • Изменения HTML-разметки, в зависимости от методов, используемых для сбора содержимого веб-сайта даже небольшое изменение HTML-данных может привести к тому, что инструмент выскабливания будет сломан до тех пор, пока он не будет обновлен.
  • Общие изменения в системах обнаружения. В последние годы поисковые системы почти месяц за месяцем ужесточали свои системы обнаружения, что делало их все более и более трудными для надежной очистки, поскольку разработчикам необходимо регулярно экспериментировать и адаптировать свой код.

Обнаружение[править]

Когда поисковая защита думает, что доступ может быть автоматизирован, поисковая система может реагировать по-разному.

Первый уровень защиты-это страница captcha , где пользователю предлагается подтвердить, что он является реальным человеком, а не ботом или инструментом. Разгадка капчи создаст файл cookie, который снова позволит получить доступ к поисковой системе на некоторое время. Примерно через один день страница captcha снова удаляется.

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

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

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

Методы выскабливания Google, Bing или Yahoo[править]

Чтобы успешно очистить поисковую систему, два основных фактора - это время и сумма.

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

Скрипты выскабливания должны преодолеть несколько технических проблем: [7]

  • Ротация IP-адресов с использованием прокси-серверов (прокси-серверы должны быть не разделены и не занесены в черные списки)
  • Правильное управление временем, время между изменениями ключевых слов, разбиение на страницы, а также правильно размещенные задержки эффективная долгосрочная скорость очистки может варьироваться от всего лишь 3-5 запросов (ключевых слов или страниц) в час до 100 и более в час для каждого используемого IP-адреса / прокси-сервера. Качество IP-адресов, методы выскабливания, запрашиваемые ключевые слова и запрашиваемый язык/страна могут значительно повлиять на возможную максимальную скорость.
  • Правильная обработка параметров URL, файлов cookie, а также HTTP-заголовков для эмуляции пользователя с помощью обычного браузера
  • Синтаксический анализ HTML DOM (извлечение URL-адресов, описаний, позиций ранжирования, ссылок на сайты и других релевантных данных из HTML-кода)
  • Обработка ошибок, автоматизированная реакция на капчу или блок-страницы и другие необычные ответы
  • Определение капчи, объясненное, как упоминалось выше, в

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

Языки программирования[править]

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

PHP-это широко используемый язык для написания скриптов выскабливания для веб-сайтов или бэкенд-сервисов, он имеет мощные встроенные возможности (DOM parsers, libcURL), но его использование памяти типично в 10 раз больше, чем у аналогичного кода C/C++. Ruby on Rails, а также Python также часто используются для автоматизированных работ по выскабливанию. Для получения самой высокой производительности следует рассмотреть DOM-Парсеры C++.

Даже сценарии bash можно использовать вместе с cURL в качестве инструмента командной строки для очистки поисковой системы.

Инструменты и скрипты[править]

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

  • iMacros-бесплатный инструментарий автоматизации браузера, который может быть использован для очень малого объема выскабливания из браузера пользователя
  • cURL-это браузер командной строки для автоматизации и тестирования, а также мощная библиотека HTTP-взаимодействия с открытым исходным кодом, доступная для широкого спектра языков программирования.
  • GoogleScraper-это Python модуль для очистки различных поисковых систем (таких как Google, Yandex, Bing, Duckduckgo, Baidu и других) с помощью прокси-серверов (socks4/5, http proxy). Этот инструмент включает в себя поддержку асинхронной сети и способен управлять реальными браузерами для смягчения обнаружения.

Юридические[править]

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

Самый крупный публичный известный инцидент со скребком поисковой системы произошел в 2011 году, когда Microsoft была поймана на соскабливании неизвестных ключевых слов из Google для своего собственного, довольно нового сервиса Bing. Но даже этот инцидент не привел к судебному разбирательству.

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

См. также[править]

Пруф[править]

.seo-snel.nl/captcha/