Меню
Бесплатно
Главная  /  Проблемы  /  8 какую работу выполняют роботы поисковых машин. Поиск информации в Web

8 какую работу выполняют роботы поисковых машин. Поиск информации в Web

Высшее образование доступно - массажист обучение .

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

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

- поиск овики на по заданным ключевым словам "обыскивают" интернет;
- адреса, индексируются поиск овиками вместе со словами;
- проиндексированные web-страницы образуют базу, которую поиск овики предоставляют пользователям для поиск а ключевых слов или комбинаций из них.

Первые поиск овики получали в день до 2,000 запросов и индексировали по сотеням тысяч страниц. Сегодя количество запросов в день идет на сотни миллионов страниц и десятки миллионов.

П оисковые машины до World Wide Web .

Первыми поиск овиками Интернет а были программы "gopher" и "Archie". Они индексировали файлы, находящиеся на подсоединенных к Интернет серверах, многократно снижая время на поиск нужных документов. В конце 1980-х годов умение работать в Интернет е сводилось к умению пользоваться Archie, gopher, Veronica и подобных поиск овые программы.

Сегодня Web стал наиболее востребованной частью Интернет а и большинство Интернет пользователей осуществляют поиск только в World Wide Web ( WWW ).

Робот-паук

Программа-робот применяемая в поиск овых машинах, еще она называется "spider", паук (спайдер) , осуществляет процесс создания списка слов, найденных на странице wed-ресурса. Процесс называется Web crawling (краулинг). Поиск овый паук просмотривает массу других страниц, строит и фиксирует список полезных слов, т.е. имеющих какое-то значение, вес.

Путешествие по поиск у в сети, паук (spider) начинает с наиболее крупного сервера и самых популярных web-страниц. Обойдя такой сайт и проиндексировав все найденные слова, он отправляется сканировать другие сайты по найденным ссылкам. Таким вот образом, робот-паук захватывает все web-пространство.

Основатели Google, Сергей Брин и Лауренс Пейдж, приводят пример работы гугловских паук ов. Их несколько. Поиск начинается тремя паук ами. Один паук одновременно поддерживает до 300 соединений со страницами. На пиковой загрузке, четыре паук а способны обрабатывать до ста страниц в секунду, генерируя при этом траффик около 600 килобайт/сек. На данный момент, когда вы это читаете, возможно цифры вам покажутся смешными.

Ключевые слова для поисковикового робота

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

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

Алгоритмы индексации поисковиков

Алгоритмы поиск овиков направлены на эффективность конечного результата, но подходы к этому у всех разные. У Lycos поиск овые роботы индексируют слова в заголовке (title), ссылках (линках) и до сотни часто употребляемых слов на странице и каждое слово из первых 20 строк контента страницы.

Робот Google принимает во внимание место расположения слова на странице (в элементе body). Слова служебных разделов, таких как subtitles, title, meta tags и др. помечает как особо важные, исключая междометия "a," "an" и "the.".

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

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

Подбор доменного имени

Каталог - удобная система поиска, однако для того, чтобы попасть на сервер компании Microsoft или IBM , вряд ли имеет смысл обращаться к каталогу. Угадать название соответствующего сайта нетрудно: www.microsoft.com , www.ibm.com или www.microsoft.ru , www.ibm.ru - сайты российских представительств этих компаний.

Аналогично, если пользователю необходим сайт , посвященный погоде в мире, его логично искать на сервере www.weather.com . В большинстве случаев поиск сайта с ключевым словом в названии эффективнее, чем поиск документа, в тексте которого это слово используется. Если западная коммерческая компания (или проект) имеет односложное название и реализует в Сети свой сервер , то его имя с высокой вероятностью укладывается в формат www.name.com , а для Рунета (российской части Сети) - www.name.ru , где name - имя компании или проекта. Подбор адреса может успешно конкурировать с другими приемами поиска, поскольку при подобной системе поиска можно установить соединение с сервером, который не зарегистрирован ни в одной поисковой системе. Однако, если подобрать искомое имя не удается, придется обратиться к поисковой машине.

Поисковые машины

Скажи мне, что ты ищешь в Интернете, и я скажу, кто ты

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

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

Как работает поисковая машина

Поисковые системы можно сравнить со справочной службой, агенты которой обходят предприятия, собирая информацию в базу данных (рис. 4.21). При обращении в службу информация выдается из этой базы. Данные в базе устаревают, поэтому агенты их периодически обновляют. Некоторые предприятия сами присылают данные о себе, и к ним агентам приезжать не приходится. Иными словами, справочная служба имеет две функции: создание и постоянное обновление данных в базе и поиск информации в базе по запросу клиента.


Рис. 4.21.

Аналогично, поисковая машина состоит из двух частей: так называемого робота (или паука), который обходит серверы Сети и формирует базу данных поискового механизма.

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

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

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

Эту мысль наглядно иллюстрирует рис. 4.22. Эллипс 1 ограничивает множество всех Web-документов, существующих на некоторый момент времени, эллипс 2 - все документы, которые проиндексированы данной поисковой машиной, а эллипс 3 - искомые документы. Таким образом, найти с помощью данной поисковой машины можно лишь ту часть искомых документов, которые ею проиндексированы.


Рис. 4.22.

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

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

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

Очевидно, что конкорданс (словарь) гораздо компактнее исходных текстов произведений и найти в нем нужное слово намного проще, нежели перелистывать книгу в надежде наткнуться на нужное слово .

Построение индекса

Схема построения индекса показана на рис. 4.23. Сетевые агенты, или роботы-пауки, "ползают" по Сети, анализируют содержимое Web-страниц и собирают информацию о том, что и на какой странице было обнаружено.


Рис. 4.23.

При нахождении очередной HTML-страницы большинство поисковых систем фиксируют слова, картинки, ссылки и другие элементы (в разных поисковых системах по-разному), содержащиеся на ней. Причем при отслеживании слов на странице фиксируется не только их наличие, но и местоположение, т.е. где эти слова находятся: в заголовке (title), подзаголовках ( subtitles ), в метатэгах 1Метатэги - это служебные тэги, позволяющие разработчикам помещать на Web-страницы служебную информацию, в том числе для того, чтобы сориентировать поисковую машину. ( meta tags ) или в других местах. При этом обычно фиксируются значимые слова, а союзы и междометия типа "а", "но" и "или" игнорируются. Метатэги позволяют владельцам страниц определить ключевые слова и тематику, по которым индексируется страница. Это может быть актуально в случае, когда ключевые слова имеют несколько значений. Метатэги могут сориентировать поисковую систему при выборе из нескольких значений слова на единственно правильное. Однако метатэги работают надежно только в том случае, когда заполняются честными владельцами сайта. Недобросовестные владельцы Web-сайтов помещают в свои метатэги наиболее популярные в Сети слова, не имеющие ничего общего с темой сайта. В результате посетители попадают на незапрашиваемые сайты, повышая тем самым их рейтинг. Именно поэтому многие современные поисковики либо игнорируют метатэги, либо считают их дополнительными по отношению к тексту страницы. Каждый робот поддерживает свой список ресурсов, наказанных за недобросовестную рекламу.

Очевидно, что если вы ищете сайты по ключевому слову "собака", то поисковый механизм должен найти не просто все страницы, где упоминается слово "собака", а те, где это слово имеет отношение к теме сайта. Для того чтобы определить, в какой степени то или иное слово имеет отношение к профилю некоторой Web-страницы, необходимо оценить, насколько часто оно встречается на странице, есть ли по данному слову ссылки на другие страницы или нет. Короче говоря, необходимо ранжировать найденные на странице слова по степени важности. Словам присваиваются весовые коэффициенты в зависимости от того, сколько раз и где они встречаются (в заголовке страницы, в начале или в конце страницы, в ссылке, в метатэге и т.п.). Каждый поисковый механизм имеет свой алгоритм присваивания весовых коэффициентов - это одна из причин, по которой поисковые машины по одному и тому же ключевому слову выдают различные списки ресурсов. Поскольку страницы постоянно обновляются, процесс индексирования должен выполняться постоянно. Роботы-пауки путешествуют по ссылкам и формируют файл, содержащий индекс, который может быть довольно большим. Для уменьшения его размеров прибегают к минимизации объема информации и сжатию файла. Имея несколько роботов, поисковая система может обрабатывать сотни страниц в секунду. Сегодня мощные поисковые машины хранят сотни миллионов страниц и получают десятки миллионов запросов ежедневно.

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

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

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

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

Самые первые поисковики индексировали до нескольких сотен тысяч страниц и получали 1,000 - 2,000 запросов в день. Сегодя топовые поисковики проиндексировали и индексируют в непрерывном режиме сотни миллионов страниц, обрабатывают десятки миллионов запросов в день. Ниже будет рассказано о том, как же работают поисковики и каким образом они "складывают" все кусочки найденной информации так, чтобы суметь ответить на любой интересующий нас вопрос.

Посмотрим на Web

Когда люди говорят о поисковых интернет машинах, они в действительности имеют в виду поисковые машины World Wide Web . Прежде, чем Web стал наиболее видимой частью интернет, уже существовали поисковые машины, которые помогали людям найти в сети информацию. Программы под названием "gopher" и "Archie" умели индексировать файлы, размещенные на разных серверах, подсоединенных к интернет Internet и многократно снижали временные затраты на поиск нужных программ или документов. В конце 80-х годов прошлого века синонимом "умения работать в интернет" было умение использовать gopher, Archie, Veronica и т.п. поисковые программы. Сегодня большинство интернет пользователей ограничивают свой поиск только всемирной сетью, или WWW.

Маленькое начало

Перед тем, как ответить вам где найти нужный документ или файл, это файл или документ должен быть уже когда то найден. Чтобы найти информацию о сотнях миллионах существующих WEB-страниц, поисковая машина применяет специальную программу-робот. Эта программа еще называется спайдер ("spider", паук) и служит для построения списка слов, найденных на странице. Процесс построения такого списка называется web-краулинг (Web crawling). Чтобы далее построить и зафиксировать "полезный" (имеющий значение) список слов, поисковый паук должен "просмотреть" массу других страниц.

Как же начинает любой паук (spider) свое путешествие по сети? Обычно стартовой точкой являются наиболее крупные мировые сервера и очень популярных web-страницы. Паук начинает свой путь с такого сайта, индексирует все найденные слова и продолжает свое движение далее, по ссылкам на другие сайты. Таким образом, робот-паук начинает охватывать все большие "куски" web-пространства. Google.com начинался с академического поисковика. В статье, описывающей как была создана эта поисковая машина, Сергей Брин и Лауренс Пейдж (основатели и владельцы Google) привели пример, как быстро работают гугловские пауки. Их несколько и обычно поиск начинается с использованием 3-х пауков. Каждый паук поддерживает до 300 одновременно открытых соединений с web-страницами. При пиковой загрузке, с использованием 4-х пауков, система Гугл способна обработать 100 страниц в секунду, генерируя траффик около 600 килобайт/сек.

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

Когда Google робот посещает HTML страницу, он принимает во внимание 2 вещи:

Слова (текст) на странцие;
- место их расположения (в какой части body страницы).

Слова, расположенные с служебных разделах, таких как title, subtitles, meta tags и др. помечались как особо важные для пользовательских поисковых запросов. Google паук был построен так, чтобы индексировать каждое подобное слово на странице, за исключением междометий типа "a," "an" и "the.". Другие поисковики имеют несколько другой подход к индексации.

Все подходы и алгоритмы поисковиков в конечном итоге направлены на то, чтобы заставить роботов пауков работать быстрее и эффективнее. К примеру, некоторые поисковые роботы отслеживают при индексации слова в title, ссылках и до 100 наиболее часто используемых на странице слов и даже каждое из слов первых 20 строк текстового содержания страницы. Таков алгортим индексации, в частности, у Lycos.

Другие поисковики, такие как AltaVista, идут в другом направлении, индексируя каждое отдельное слово странциы, включая "a," "an," "the" и други неважные слова.

Мета-Теги (Meta Tags)

Метатеги позволяют владельцу web-страницы задавать ключевые слова и понятия, которые определяют суть её содержания. Это очень полезный инструемнт, особенно когда эти ключевые слова могут повторяться до 2-3 раз в тексте страницы. В этом случае мета-теги могу "направить" поисковый робот к нужному выбору ключевых слов для индексации страницы. Существует вероятность "накрутки" мета-тегов сверх популярными поисковыми запросами и понятиями, никак не связаннными с содержанием самой старницы. Поисковые роботы умеют бороься с этим, путем, например, анализа корреляции мета-тегов и содержимого web-страницы, "выкидывая" из рассмотрения те мета-теги (соответственно ключевые слова) , которые не соответствуют содержимому страниц.

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

Построение индекса

Как только пауки закончили свою работу по нахождению новых web-страниц, поисковые машины должны разместить всю найденную информацию так, чтобы было удобно в дальнейшем ею пользоваться. Здесь имеют значение 2 ключевых компонента:

Информация, сохраненная вместе с данными;
- метод, которым эта информация проиндексирована.

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

Чтобы предоставить нам полезные данные, поисковики сохраняют не только информацию из слова и его URL адрес. Поисковик может сохранить данные о количестве (частоте) упоминаний слова на странице, присвоить слову "вес", что далее поможет выдавать поисковые листинги (результаты) на основе весового ранжирования по данному слову, с учетом его местонахождения (в ссылках, мета тегах, титуле страницы и т.п.). У каждого коммерческого поисковика есть своя формула для вычисления "веса" ключевых слов при индексации. Это одна из причин, почему по одному и тому же поисковому запросу поисковики выдают совсем разные результаты.

Следующий важный момент при обработке найденной информации - её кодирование с целью уменьшения объема дискового пространства для её сохранения. Например, в оригинальной статье Google описано, что для хранения весовых данных слов используется 2 байта (по 8 бит каждый) -- при этом учитывается вид слова (большими или прописными буквами), размер самих букв (Font-Size) и др. информация, которая помогает ранжировать сайт. Каждый такой "кусочек" информации требует 2-3 бита данных в полном 2-байтном наборе. В результате громадный объем информации удается сохранять в очень компактном виде. После того, как информация "сжата", пора приступать к индексации.

Цель индексация одна: обеспечить максимально быстрый поиск нужной информации. Существуют несколько путей для построения индексов, но самый эффективный - это построение хеш-таблиц (hash table). При хешировании используется определенная формула, с помощью которой каждому слову присваивается некое численное значение.

В любом языке существуют буквы, с которых начинается гораздо больше слов, чем с остальных букв алфавита. К примеру, слов на букв "M" в разделе английского словаря значительно больше, чем на букву "X". Это означает, что поиск слова, начинающегося с самой популярной буквы потребует больше времени, чем любое другое слово. Хешинг (Hashing) уравнивает эту разницу и уменьшает среднее время поиска, а также разделяет сам индекс от реальных данных. Хеш таблица содержит хеш-значения вместе с указателем на данные, соответствующие этому значению. Эффективная индексация + эффективное размещение вместе обеспечивают высокую скорость поиска, даже если пользователь задаст очень сложный поисковый запрос.

Будущее поисковиков

Поиск, основанный на булевских операторах ("and", "or", "not") - это буквенный поиск -- поисковик получает поисковые слова ровно так, как они введены. Это может вызвать проблему, когда, например, введенное слово имеет множество значений. "Ключ," например, может означать "средство для открытия двери", а может означать "пароль" для входа на сервер. Если вас интересует только одно значение слова, то вам, очевидно, будут не нужны данные по его второму значению. Можно, конечно, построить буквальный запрос, который позволит исключить вывод данных по ненужному значению слова, но было бы неплохо, если бы поисковик смог сам помочь вам.

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

Не менее интенсивно ведутся работы и в области разработки поисковых алгоритмов на основе запросов естественного языка (Natural-Language query).

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

1.1.1. Компоненты поисковых машин

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

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

Вторые собирают информацию в Сети, используя специальные программы. Это поисковые машины, состоящие, как правило, из трех основных компонентов:

Индекса;

Поискового механизма.

Агент , или более привычно - паук, робот (в англоязычной литературе - spider, crawler), в поисках информации обходит сеть или ее определенную часть. Этот робот хранит список адресов (URL), которые он может посетить и проиндексировать, с определенной для каждой поисковой машины периодичностью скачивает соответствующие ссылкам документы и анализирует их. Полученное содержимое страниц сохраняется роботом в более компактном виде и передается в Индекс. Если при анализе страницы (документа) будет обнаружена новая ссылка, робот добавит ее в свой список. Поэтому любой документ или сайт, на который есть ссылки, может быть найден роботом. И наоборот, если на сайт или любую его часть нет никаких внешних ссылок, робот может его не найти.

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

Поисковые роботы бывают различных типов:

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

? Crawler (краулер, "путешествующий" паук) - выделяет все ссылки, присутствующие на странице. Его задача - определить, куда дальше должен идти паук, основываясь на ссылках или исходя из заранее заданного списка адресов. Краулер, следуя по найденным ссылкам, осуществляет поиск новых документов, еще неизвестных поисковой системе.

? Индексатор разбирает страницу на составные части и анализирует их. Выделяются и анализируются различные элементы страницы, такие как текст, заголовки, структурные и стилевые особенности, специальные служебные HTML-теги и т. д.

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

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

Вопреки расхожему мнению, робот непосредственно не занимается какой-либо обработкой сканируемых документов. Он их только считывает и сохраняет, дальше их обработку осуществляют другие программы. Наглядное подтверждение можно получить, анализируя логи сайта, который индексируется в первый раз. При первом визите бот сначала запрашивает файл robots.txt, затем главную страницу сайта. То есть идет по единственной известной ему ссылке. На этом первый визит бота всегда и заканчивается. Через некоторое время (обычно на следующий день) бот запрашивает следующие страницы - по ссылкам, которые найдены на уже считанной странице. Дальше процесс продолжается в том же порядке: запрос страниц, ссылки на которые уже найдены - пауза на обработку считанных документов - следующий сеанс с запросом найденных ссылок.

Разбор страниц «на лету» означал бы значительно бо льшую ресурсоемкость робота и потери времени. Каждый сервер сканирования запускает множество процессов-ботов параллельно. Они должны действовать максимально быстро, чтобы успеть считывать новые страницы и повторно перечитывать уже известные. Поэтому боты только считывают и сохраняют документы. Все, что они сохраняют, ставится в очередь на обработку (разборку кода). Найденные при обработке страниц ссылки ставятся в очередь заданий для ботов. Так и идет непрерывное сканирование всей сети. Единственное, что бот может и должен анализировать «на лету» - это файл robots.txt, чтобы не запрашивать адреса, которые в нем запрещены. При каждом сеансе сканирования сайта робот в первую очередь запрашивает этот файл, а уже после него - все стоящие в очереди на сканирование страницы.

Виды поисковых роботов

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

Роботы Google

Все роботы Google носят общее название Googlebot. Основной робот-индексатор «представляется» так:

Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

Этот бот занят сканированием HTML -страниц и прочих документов для основного поиска Google. Он же изредка считывает файлы CSS и JS - в основном это можно заметить на ранней стадии индексирования сайта, пока бот обходит сайт впервые. Принимаемые типы контента - все (Accept: */*).

Второй из основных ботов занят сканированием изображений с сайта. Он «представляется» просто:

Googlebot-Image/1.0

Еще в логах замечены как минимум три бота, занятых сбором контента для мобильной версии поиска. Поле User-agent всех трех оканчивается строкой:

(compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)

Перед этой строкой - модель мобильного телефона, с которой этот бот совместим. У замеченных ботов это модели телефонов Nokia, Samsung и iPhone. Принимаемые типы контента - все, но с указанием приоритетов:

Accept: application/vnd.wap.xhtml+xml,application/xhtml+xml;q=0.9,text/vnd.wap.wml;q=0.8,text/html;q=0.7,*/*;q=0.6

Роботы Яндекса

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

Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)

Ранее представлялся как

Yandex/1.01.001 (compatible; Win16; I)

Считывает HTML -страницы сайта и другие документы для индексирования. Список принимаемых медиатипов ранее был ограничен:

Accept: text/html, application/pdf;q=0.1, application/rtf;q=0.1, text/rtf;q=0.1, application/msword;q=0.1, application/x-shockwave-flash;q=0.1, application/vnd.ms-excel;q=0.1, application/vnd.ms-powerpoint;q=0.1

С 31 июля 2009 года в этом списке было замечено существенное расширение (число типов почти удвоилось), а с 10 ноября 2009 года список укоротился до */* (все типы).
Этого робота живо интересует вполне определенный набор языков: русский, несколько менее украинский и белорусский, еще чуть меньше английский и совсем мало - все остальные языки.

Accept-Language: ru, uk;q=0.8, be;q=0.8, en;q=0.7, *;q=0.01

Робот-сканер изображений несет в поле User-agent строку:

Mozilla/5.0 (compatible; YandexImages/3.0; +http://yandex.com/bots)

Занимается сканированием графики разных форматов для поиска в картинках.

В отличие от Google, у Яндекса есть отдельные боты для обслуживания некоторых специальных функций общего поиска.
Робот-«зеркальщик»

Mozilla/5.0 (compatible; YandexBot/3.0; MirrorDetector; +http://yandex.com/bots)

Ничего особенно сложного не делает - периодически появляется и проверяет, совпадает ли главная страница сайта при обращении к домену с www. и без. Также проверяет параллельные домены-«зеркала» на совпадение. По-видимому, зеркалами и канонической формой доменов в Яндексе занимается отдельный программный комплекс, не связанный напрямую с индексированием. Иначе решительно нечем объяснить существование для этой цели отдельного бота.

Сборщик иконок favicon.ico

Mozilla/5.0 (compatible; YandexFavicons/1.0; +http://yandex.com/bots)

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

Проверочный бот для новых сайтов, работает при добавлении в форму AddURL

Mozilla/5.0 (compatible; YandexWebmaster/2.0; +http://yandex.com/bots)

Этот бот проверяет отклик сайта, посылая запрос HEAD к корневому URL . Таким образом проверяется существование главной страницы в домене и анализируются HTTP -заголовки этой страницы. Также бот запрашивает файл robots.txt в корне сайта. Таким образом после подачи ссылки в AddURL определяется, что сайт существует и ни в robots.txt, ни в HTTP -заголовках не запрещен доступ к главной странице.

Робот Рамблера

В настоящее время уже не работает , поскольку Рамблер сейчас использует поиск Яндекса
Робота-индексатора Рамблера легко опознать в логах по полю User-agent

StackRambler/2.0 (MSIE incompatible)

По сравнению с «коллегами» из других поисковых систем этот бот кажется совсем простым: не указывает список медиатипов (соответственно, получает запрошенный документ любого типа), поле Accept-Language в запросе отсутствует, в запросах бота не встречено также поле If-Modified-since.

Робот Mail.Ru

Об этом роботе пока известно немного. Разработку собственного поиска портал Mail.Ru ведет уже давно, но все никак не соберется этот поиск запустить. Поэтому достоверно известно только наименование бота в User-agent - Mail.Ru/2.0 (ранее - Mail.Ru/1.0). Наименование бота для директив файла robors.txt нигде не публиковалось, есть предположение, что бота так и следует звать Mail.Ru.

Прочие роботы

Поиск в интернете, конечно, не ограничивается двумя поисковыми системами. Поэтому существуют и другие роботы - например робот Bing - поисковой системы от Microsoft и другие роботы. Так, в частности, в Китае есть национальная поисковая система Baidu - но ее робот вряд ли долетит до середины реки дойдет до русского сайта .

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