Из Википедии, бесплатной энциклопедии
  (Перенаправлено из поисковой системы )
Перейти к навигации Перейти к поиску

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Способы очистки Google, Bing или Yahoo [ править ]

Для успешной очистки поисковой системы двумя основными факторами являются время и количество.

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

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

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

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

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

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

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

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

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

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

  • iMacros - бесплатный набор инструментов для автоматизации браузера, который можно использовать для парсинга очень небольших объемов из пользовательского браузера [11]
  • cURL - браузер командной строки для автоматизации и тестирования, а также мощная библиотека взаимодействия HTTP с открытым исходным кодом, доступная для большого количества языков программирования. [12]
  • google-search - пакет Go для очистки Google. [13]
  • GoogleScraper - модуль Python для очистки различных поисковых систем (таких как Google, Яндекс, Bing, Duckduckgo, Baidu и других) с помощью прокси (socks4 / 5, http-прокси). Инструмент включает поддержку асинхронной сети и может управлять реальными браузерами, чтобы уменьшить вероятность обнаружения. [14]
  • se-scraper - наследник GoogleScraper. Очищайте поисковые системы одновременно с разными прокси-серверами. [15]

Правовой [ править ]

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

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

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

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

  • Сравнение парсеров HTML

Ссылки [ править ]

  1. ^ «Автоматические запросы - Справка Search Console» . support.google.com . Проверено 2 апреля 2017 . CS1 maint: обескураженный параметр ( ссылка )
  2. ^ «Google по-прежнему остается самой популярной поисковой системой в мире, но доля уникальных поисковиков немного снижается» . searchchengineland.com . 11 февраля 2013 г.
  3. ^ "Почему curl и wget приводят к 403 запрещенным?" . unix.stackexchange.com .
  4. ^ "Google знает, что я использую Tor Browser?" . tor.stackexchange.com .
  5. ^ "Группы Google" . google.com .
  6. ^ «Мой компьютер отправляет автоматические запросы - reCAPTCHA Help» . support.google.com . Проверено 2 апреля 2017 . CS1 maint: обескураженный параметр ( ссылка )
  7. ^ «Сбор рейтингов Google для развлечения и прибыли» . google-rank-checker.squabbel.com .
  8. ^ a b "Фреймворк Python3 GoogleScraper" . скребущий .
  9. ^ Deniel Iblika (3 января 2018). "De Online Marketing Diensten van DoubleSmart" . DoubleSmart (на голландском). Diensten . Проверено 16 января 2019 . CS1 maint: обескураженный параметр ( ссылка )
  10. Ян Янссен (26 сентября 2019 г.). "Услуги интернет-маркетинга от SEO SNEL" . SEO SNEL (на голландском языке). Услуги . Проверено 26 сентября 2019 года . CS1 maint: обескураженный параметр ( ссылка )
  11. ^ "iMacros для извлечения результатов Google" . stackoverflow.com . Проверено 4 апреля 2017 .
  12. ^ "libcurl - многопротокольная библиотека передачи файлов" . curl.haxx.se .
  13. ^ «Пакет Go для очистки Google» - через GitHub.
  14. ^ «Модуль Python для очистки нескольких поисковых систем (таких как Google, Яндекс, Bing, Duckduckgo, ...). Включая поддержку асинхронных сетей: NikolaiT / GoogleScraper» . 15 января 2019 г. - через GitHub.
  15. ^ Tschacher Николай (2020-11-17), NikolaiT / се-скребок , извлекаться 2020-11-19
  16. ^ "Является ли веб-парсинг законным?" . Икреон (блог).
  17. ^ "Апелляционный суд отменяет осуждение и приговор хакеру / троллю" weev "[Обновлено]" . arstechnica.com .
  18. ^ «Может ли очистка контента, не нарушающего авторские права, стать нарушением авторских прав ... из-за того, как работают парсеры?» . www.techdirt.com .
  19. ^ Сингел, Райан. «Google ловит копирование Bing; Microsoft говорит:« Ну и что? » » . Проводной .

Внешние ссылки [ править ]

  • Scrapy Фреймворк Python с открытым исходным кодом, не предназначенный для парсинга поисковых систем, но регулярно используемый в качестве базы и с большим количеством пользователей.
  • Исходный код парсинга Compunect - ряд хорошо известных скриптов парсинга PHP с открытым исходным кодом, включая регулярно поддерживаемый парсер Google Search для парсинга рекламы и обычных страниц результатов.
  • Justone бесплатных скриптов парсинга - информация о парсинге Google, а также скриптах PHP с открытым исходным кодом (последнее обновление - середина 2016 г.)
  • Исходный код Scraping.Services - классы Python и PHP с открытым исходным кодом для стороннего API парсинга. (обновлено в январе 2017 г., бесплатно для частного использования)
  • PHP Simpledom Широко распространенный анализатор PHP DOM с открытым исходным кодом для интерпретации HTML-кода в переменные.
  • SerpApi Сторонний сервис, базирующийся в США, позволяющий легально очищать поисковые системы.