Что такое веб-краулер?

1 min read
What is a web crawler featured image

Веб-краулеры (поисковые роботы) – важная часть инфраструктуры Интернета. В этой статье мы рассмотрим:

Определение веб-краулера

Веб-краулер — это программный робот, который сканирует Интернет и загружает найденные данные. Большинство краулеров работают под управлением поисковых систем, таких как Google, Bing, Baidu и DuckDuckGo. Поисковые системы применяют свои алгоритмы поиска к собранным данным, чтобы сформировать индекс своей поисковой системы. Индексы позволяют им предоставлять релевантные ссылки пользователям на основе их поисковых запросов.

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

Как работают поисковые роботы?

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

Когда краулер подключается к сайту, он начинает с загрузки и чтения файла robots.txt. Файл robots.txt является частью протокола исключения роботов (REP), группы веб-стандартов, которые регулируют, как роботы сканируют Интернет, получают доступ и индексируют контент, а также предоставляют этот контент пользователям. Владельцы сайтов могут определить, какие пользовательские агенты могут и не могут получать доступ к сайту. В robots.txt также можно определить директиву задержки сканирования, чтобы ограничить скорость запросов, которые сканер делает на сайте. В Robots.txt также перечисляются связанные с сайтом карты сайта, так что краулер может найти каждую страницу и время ее последнего обновления. Если страница не изменилась с момента последнего посещения краулером, он ее пропустит.  

Когда поисковый робот, наконец, достигает страницы для сканирования, он отображает ее в браузере, загружая весь HTML, сторонний код, JavaScript и CSS. Эта информация хранится в базе данных поисковой системы, а затем используется для индексации и ранжирования страницы. Он также загружает все ссылки на странице. Ссылки, которых еще нет в индексе поисковой системы, добавляются в список для последующего сканирования.

Соблюдение директив в файле robots.txt является добровольным. Большинство основных поисковых систем следуют директивам robots.txt, но некоторые этого не делают. Злоумышленники, такие как спамеры и ботнеты, игнорируют директивы robots.txt. Даже некоторые законные поисковые роботы, такие как Архив Интернета, игнорируют файл robots.txt.

Примеры веб-краулеров

Поисковые системы имеют несколько типов поисковых роботов. Например, у Google есть 17 типов ботов:

  • APIs-Google
  • AdSense
  • AdsBot Mobile Web Android
  • AdsBot Mobile Web
  • Googlebot Image
  • Googlebot News
  • Googlebot Video
  • Googlebot Desktop
  • Googlebot Smartphone
  • Mobile Apps Android
  • Mobile AdSense
  • Feedfetcher
  • Google Read Aloud
  • Duplex on the web
  • Google Favicon
  • Web Light
  • Google StoreBot

Почему веб-краулеры важны для SEO

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

Поисковые роботы также могут помочь и в других областях. Сайты эл. коммерции часто сканируют сайты конкурентов для анализа выбора продукции и ценообразования. Этот тип сбора данных обычно известен как «веб-скрапинг вместо сканирования». Веб-скрапинг фокусируется на определенных элементах данных HTML. Веб-скраперы очень целенаправленны, тогда как веб-краулеры расставляют широкую сеть и собирают весь контент. На стороне пользователя также есть инструменты SERP API, которые помогают сканировать и собирать данные поисковой выдачи.    

Проблемы, с которыми сталкиваются поисковые роботы

Есть ряд проблем, с которыми могут столкнуться поисковые роботы.

ПроблемаОписание
Ограничения robots.txtЕсли поисковый робот соблюдает ограничения robots.txt, он не сможет получить доступ к определенным страницам или отправить запросы, превышающие произвольное ограничение.
Баны IPПоскольку некоторые поисковые роботы не соблюдают ограничения robots.txt, они могут использовать ряд других инструментов для ограничения сканирования. Сайты могут блокировать IP-адреса, которые считаются вредоносными, например, бесплатные прокси данных, используемые мошенниками, или определенные IP ЦОД.
Ограничения геолокацииНекоторые сайты требуют, чтобы посетитель находился в определенной локации для доступа к содержимому сайта. Хорошим примером является попытка доступа к контенту Netflix USA за пределами США. Большинство гео-ограничений можно преодолеть с помощью резидентных прокси-сетей.  
CAPTCHAНекоторые веб-сайты, обнаружив большое количество активности из подозрительных источников, выставляют CAPTCHA, чтобы проверить, настоящий ли человек стоит за запросом. CAPTCHA могут нарушить деятельность веб-краулеров. Многие решения для веб-скрапинга имеют инструменты и технологии для преодоления подобных блокировок. Эти инструменты часто используют решение для разблокировки CAPTCHA.      

Подведем итоги

Поисковые роботы являются важной частью инфраструктуры Интернета. Они позволяют поисковым системам собирать данные, необходимые для создания поисковых индексов и предоставления результатов поиска по запросам пользователей. Многие компании обращаются к краулерам, чтобы помочь им в своих исследованиях. Зачастую они сосредоточены только на одном или двух сайтах, таких как Amazon, Adidas или Airbnb. В таких случаях для их нужд лучше подходят такие инструменты, как веб-парсеры IDE от Bright Data.