Случилось так, что 1994 г. стал переломным в истории создания поисковых машин. Студент выпускного курса Вашингтонского университета Брайан Пинкертон (Brian Pinkerton) устал от бесконечной череды электронных писем, которые посылали ему друзья, с информацией о хороших сайтах, найденных ими в Интернете. Безусловно, сайты ему были нужны, однако шквал посланий с их адресами раздражал, а посещение всех страниц отнимало уйму времени. Однако Пинкертон нашел решение проблемы – он создал робота, которого назвал WebCrawler (что-то вроде «вездеход для Интернета»). «ВебКраулер», как и «Вандерер», ползал со страницы на страницу, запоминая при этом весь текст Web-документа и сохраняя его в базе данных, которая была доступна поисковым словам. Изобретатель представил свое детище публике в апреле 1994 г., причем сделал это виртуально – через Web-интерфейс. База данных в тот момент содержала информацию с 6000 самых разных серверов. Уже через неделю она начала расширяться, причем ежедневный прирост составлял более 100 новых серверов. Так родилась первая поисковая машина.

Тогда же был введен в обиход интернетчиков термин «краулер» или «паук», который применяется, как мы уже говорили, и по сей день.

Ну а далее ситуация развивалась еще более стремительно. Крис Шерман и Гари Прайс приводят такую хронологию возникновения и развития современных поисковых машин.

1994 г. – WebCrawler, Lycos, Yahoo!

1995 г. – Infoseek, SavvySearch, AltaVista, MetCrawler, Excite. Появление метапоисковых машин.

1996 г. – HotBot, LookSmart.

1997 г. – NorthernLight.

1998 г. – Google, InvisibleWeb.com.

1999 г. – FAST.

2000 г. и далее – Сотни новых поисковых машин. Русскоязычные поисковые машины появлялись в такой последовательности:

1996 г. – Rambler (www.rambler.ru);

1997 г. – Yandex (www.yandex.ru);

2004 г. – русскоязычная версия Google (www.google.ru) и русскоязычная версия Yahoo! (http://ru.yahoo.com).


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

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

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

Наверху страницы, изображенной на рисунке, то есть не в тексте сайта, а на верхнем поле рамки страницы, рядом с круглым значком браузера, расположена надпись: «Показываем устройство сайта».



Рисунок 1. Пример сайта, как его видно в браузере Мозилла Файрфокс


Она находится в так называемом заголовке страницы (который заключен между открывающим тегом и закрывающим тегом ). Обращаем ваше внимание на то, что это заголовок именно всей страницы, а не текста. Посередине представленного рисунка жирным курсивом выведено: «Это простой сайт». Данная надпись – и есть заголовок текста. Шрифт фразы «Это простой сайт» по размеру превосходит шрифт текста на сайте, он специально выделен как заголовок текста. При разметке с помощью HTML этот текст расположен ниже тега , но при этом вместе с тегом <TITLE> находится внутри тега <Head>. То есть содержимое, заключенное в <TITLE>, – это часть того, что находится в <Head>.</p></div> </section> <div class="pagination pagination_text pagination_text_bot"> <div class="page-nav__item"> <a rel="nofollow" href="/reader/monitoring-informacii-v-internete-artemov/3" class="pagination__item">Назад</a> </div> <div class="page-nav__group"> <input id="change-page" type="number" class="page-nav__control" pattern="\d+" min="1" max="19" data-route="/reader/monitoring-informacii-v-internete-artemov" value="4"> </div> <div class="page-nav__item"> <a rel="nofollow" href="/reader/monitoring-informacii-v-internete-artemov/5" class="pagination__item">Вперед</a> </div> </div> </div> </div> </main> <footer class="footer"> <div class="container footer__inner"> <div class="footer__logo logo logo_footer"> <a class="logo__link" href="/"> <span class="logo__name"> SimplyBooks <span class="logo__dot">In</span> </span> </a> </div> <nav class="footer__nav"> <ul class="footer-menu"> <li class="footer-menu__item"><a href="/new" class="footer-menu__link">Новинки</a></li> <li class="footer-menu__item"><a href="/tag" class="footer-menu__link">Жанры</a></li> <li class="footer-menu__item"><a href="/hello" class="footer-menu__link">Контакты</a></li> </ul> </nav> </div> </footer> <div class="mobile-bar" id="mobileMenu"> <div class="mobile-bar__head"> <div class="mobile-bar__head-inner container"> <div class="mobile-bar__close"> <button class="mobile-bar__close-btn" id="menuClose"></button> </div> </div> </div> <div class="mobile-bar__body"> <div class="mobile-bar__body-inner container"> <ul class="mobile-menu"> <li class="mobile-menu__item"><a href="/new" class="mobile-menu__link">Новинки</a></li> <li class="mobile-menu__item"><a href="/tag" class="mobile-menu__link">Жанры</a></li> <li class="mobile-menu__item"><a href="/hello" class="mobile-menu__link">Контакты</a></li> <li class="mobile-menu__item mobile-search"> <form action="/find" class="form mobile-search__form" method="get"> <div class="form__group form-group_inline"> <input placeholder="Поиск" type="search" value="" name="query" class="form__control mobile-search__input" required="required"> <button type="submit" class="mobile-search__submit search__btn">Найти</button> </div> </form> </li> </ul> </div> </div> </div> <script src="/build/runtime.5332280c.js" defer></script><script src="/build/site.01974e7b.js" defer></script> <!-- Yandex.Metrika counter --> <script type="text/javascript" > (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)}; m[i].l=1*new Date(); for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }} k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)}) (window, document, "script", "https://mc.webvisor.org/metrika/tag_ww.js", "ym"); ym(97862865, "init", { clickmap:true, trackLinks:true, accurateTrackBounce:true }); </script> <!-- /Yandex.Metrika counter --> </div> </body> </html>