Парсинг поисковой системы - Википедия - Search engine scraping
Парсинг поисковой системы это процесс сбора урожая URL, описания или другую информацию из поисковые системы например Google, Bing или Yahoo. Это особая форма очистка экрана или же парсинг веб-страниц только для поисковых систем.
Чаще всего больше поисковая оптимизация (SEO) провайдеры зависят от регулярного извлечения ключевых слов из поисковых систем, особенно Google, для отслеживания конкурентной позиции веб-сайтов своих клиентов по релевантным ключевым словам или их статусу индексации.
Поисковые системы, такие как Google, не разрешают какой-либо автоматический доступ к своим услугам.[1] но с юридической точки зрения нет ни одного известного случая или нарушения закона.
Процесс входа на веб-сайт и извлечения данных в автоматическом режиме также часто называют "ползать ". Поисковые системы, такие как Google, Bing или Yahoo, получают почти все свои данные от роботов-автоматов.
Трудности
Google - безусловно, крупнейшая поисковая система с наибольшим количеством пользователей и наибольшим доходом от креативной рекламы, что делает Google самой важной поисковой системой для компаний, связанных с SEO.[2]
Google не предпринимает никаких действий против соскабливания, вероятно, из соображений самозащиты. Тем не менее, Google использует ряд защитных методов, из-за которых обработка результатов становится сложной задачей.
- Google тестирует Пользователь-агент (Тип браузера) 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] где пользователю предлагается подтвердить, что он настоящий человек, а не бот или инструмент. Решение капчи создаст печенье это позволяет снова получить доступ к поисковой системе на некоторое время. Примерно через день страница с капчей снова удаляется.
Второй уровень защиты - это аналогичная страница с ошибкой, но без капчи, в этом случае пользователь полностью заблокирован от использования поисковой системы до тех пор, пока временная блокировка не будет снята или пользователь не изменит свой IP-адрес.
Третий уровень защиты - длительная блокировка всего сегмента сети. Google уже несколько месяцев блокирует большие сетевые блоки. Такая блокировка, скорее всего, запускается администратором и происходит только в том случае, если инструмент парсинга отправляет очень большое количество запросов.
Все эти формы обнаружения могут также произойти с обычным пользователем, особенно с пользователями, использующими один и тот же IP-адрес или класс сети (диапазоны IPV4, а также диапазоны IPv6).
Способы парсинга Google, Bing или Yahoo
Для успешной очистки поисковой системы два основных фактора - это время и количество.
Чем больше ключевых слов нужно очистить пользователю и чем меньше времени на выполнение работы, тем сложнее будет очистка и тем более развитым должен быть скрипт или инструмент очистки.
Скрипты парсинга должны решить несколько технических проблем:[7]
- Ротация IP-адресов с использованием прокси (прокси не должны использоваться совместно и не заноситься в черные списки)
- Правильное управление временем, время между изменениями ключевых слов, разбиение на страницы, а также правильно размещенные задержки Эффективная долгосрочная скорость очистки может варьироваться от 3–5 запросов (ключевых слов или страниц) в час до 100 и более в час для каждого используемого IP-адреса / прокси . Качество IP-адресов, методы парсинга, запрошенные ключевые слова и запрошенный язык / страна могут сильно повлиять на возможную максимальную скорость.
- Правильная обработка параметров URL, файлов cookie, а также заголовков HTTP для имитации пользователя в обычном браузере[8]
- HTML ДОМ синтаксический анализ (извлечение 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]
- GoogleScraper - Модуль Python для очистки различных поисковых систем (таких как Google, Яндекс, Bing, Duckduckgo, Baidu и других) с использованием прокси (socks4 / 5, http-прокси). Инструмент включает поддержку асинхронной сети и может управлять реальными браузерами, чтобы уменьшить вероятность обнаружения.[13]
- se-scraper - наследник GoogleScraper. Очищайте поисковые системы одновременно с разными прокси. [14]
Юридический
При парсинге веб-сайтов и сервисов юридическая часть часто является большой проблемой для компаний, для парсинга веб-сайтов это во многом зависит от страны, из которой происходит парсинг пользователя / компании, а также от того, какие данные или веб-сайт очищаются. С множеством различных судебных решений по всему миру.[15][16][17]Однако, когда дело доходит до очистки поисковых систем, ситуация иная: поисковые системы обычно не перечисляют интеллектуальную собственность, поскольку они просто повторяют или обобщают информацию, которую они скопировали с других веб-сайтов.
Самый крупный публично известный инцидент, связанный с очисткой поисковой системы, произошел в 2011 году, когда Microsoft была поймана на очистке неизвестных ключевых слов от Google для своего собственного, довольно нового сервиса Bing. ([18]) Но даже этот инцидент не закончился судебным делом.
Одна из возможных причин может заключаться в том, что поисковые системы, такие как Google, получают почти все свои данные, очищая миллионы общедоступных веб-сайтов, также не читая и не принимая эти условия. Судебный процесс, выигранный Google против Microsoft, может поставить под угрозу весь их бизнес.
Смотрите также
Рекомендации
- ^ «Автоматические запросы - Справка Search Console». support.google.com. Получено 2017-04-02.
- ^ «Google по-прежнему остается самой популярной поисковой системой в мире, но доля уникальных поисковиков немного снижается». searchchengineland.com. 11 февраля 2013 г.
- ^ "почему curl и wget приводят к 403 запрещенным?". unix.stackexchange.com.
- ^ «Знает ли Google, что я использую Tor Browser?». tor.stackexchange.com.
- ^ "Группы Google". google.com.
- ^ «Мой компьютер отправляет автоматические запросы - справка reCAPTCHA». support.google.com. Получено 2017-04-02.
- ^ "Сбор рейтингов Google для развлечения и прибыли". google-rank-checker.squabbel.com.
- ^ а б "Python3 framework GoogleScraper". скребущий.
- ^ Дениэл Иблика (3 января 2018 г.). "De Online Marketing Diensten van DoubleSmart". DoubleSmart (на голландском). Diensten. Получено 16 января 2019.
- ^ Ян Янссен (26 сентября 2019 г.). "Услуги интернет-маркетинга от SEO SNEL". SEO SNEL (на голландском). Услуги. Получено 26 сентября 2019.
- ^ "iMacros для извлечения результатов Google". stackoverflow.com. Получено 2017-04-04.
- ^ "libcurl - библиотека многопротокольной передачи файлов". curl.haxx.se.
- ^ «Модуль Python для очистки нескольких поисковых систем (таких как Google, Яндекс, Bing, Duckduckgo, ...). Включая поддержку асинхронной сети: NikolaiT / GoogleScraper». 15 января 2019 г. - через GitHub.
- ^ Чачер, Николай (2020-11-17), НиколайТ / se-scraper, получено 2020-11-19
- ^ "Является ли веб-скрапинг законным?". Икреон (блог).
- ^ "Апелляционный суд отменяет приговор и приговор хакеру / троллю" долгоносику "[Обновлено]". arstechnica.com.
- ^ «Может ли очистка контента, не нарушающего авторских прав, стать нарушением авторских прав ... из-за того, как работают парсеры?». www.techdirt.com.
- ^ Сингел, Райан. "Google ловит копирование Bing; Microsoft говорит:" Ну и что? "'". Проводной.
внешняя ссылка
- Scrapy Фреймворк Python с открытым исходным кодом, не предназначенный для парсинга поисковых систем, но регулярно используемый в качестве базы и с большим количеством пользователей.
- Compunect исходный код парсинга - Ряд хорошо известных скриптов парсинга PHP с открытым исходным кодом, включая регулярно обновляемый парсер Google Search для парсинга рекламы и обычных страниц результатов.
- Всего один бесплатный скрипт парсинга - Информация о парсинге Google, а также о скриптах PHP с открытым исходным кодом (последнее обновление - середина 2016 г.)
- Исходный код Scraping.Services - Классы Python и PHP с открытым исходным кодом для стороннего API парсинга. (обновлено в январе 2017 г., бесплатно для частного использования)
- PHP Simpledom Широко распространенный парсер PHP DOM с открытым исходным кодом для интерпретации HTML-кода в переменные.
- Почему обратные ссылки имеют значение Полезная информация о том, почему и что такое обратные ссылки.
- Ват - это капча Полезная информация о том, что такое капча.