[Себастьян Тран] Как ты думаешь, как написать поисковую машину
ты ведь создал уже одну раньше, так ведь?
[Сергей Брин, сооснователь Google] Да, я думаю, что самая важная вещь,
если ты собираешся создать поисковую машину,
это иметь хорошую базу с которой начнёшь
В нашем случае мы использовали всемирную паутину, которая в то время была, конечно, меньше, чем сегодня
Но она была также новой и захватывающей
Были всякие неожиданные вещи.
[David Evans] Итак, цель наших трех первых разделов курса в создании этой базы
И мы собираемся создать базу для нашего поисковой машины
сканируя сеть, это то, что делает сетевой "паук".
Сетевой паук - это программа, которая собирает содержание сети.
Если представить веб-страницу которую ты видишь в браузере, у тебя есть страница наподобие этой.
Рассмотрим сайт udacity как пример веб-страницы
На ней много информации, в виде картинок, в виде текта
Все это получает твой браузер, когда запрашивает страницу
Важная вещь это ссылки
Ссылка это что-то, что ссылается на другую страницу
Так у нас есть ссылка на часто задаваемые вопросы
есть ссылка на страницу CS101
И ещё несколько остальных ссылок
И эта ссылка может быть показана в браузере с подчёркиванием
или нет, в зависимости от настроек браузера
Но важная вещь это то,
что они указывают на какие-то другие страницы
И эти страницы могут тоже содеражить ссылки
так у нас есть другая ссылка на эту страницу
Может быть с моим именем, ты можешь попасть на мою домашную страницу
И все страницы, которые мы можем найти нашим пауком
находятся по переходу по ссылкам.
Так, что нам не нужно искать каждую страницу в сети
Если мы начнем с хорошей начальной страницы
мы найдем множество страниц.
И всё что паук будет делать, это начинать с одной страницы,
находить на ней все ссылки и переходить по ним, находя другие страницы
и затем на других страницах он перейдет по следующим ссылкам
обнаруживая другие страницы и на этих страницах будет ещё больше ссылок
И в конце концов у нас будет коллекция множества страниц в сети.
Вот что мы хотим делать, создавая веб паука.
Мы собираемся каким-либо образом начать с первоначальной страницы
выделить ссылки на ней,
перейти по этим ссылкам на другие страницы,
затем собрать ссылки с этих других страниц,
переходя по ним, собирая всё содеражние
Похоже чтобы реализовать это, нужно много работы
Мы не собираемся делать это всё в первом разделе
Всё что мы собираемся сделать в первом разделе, просто выделить ссылку.
Итак, мы начнем с отрывка текста.
Он будет иметь ссылки с URL.
Всё что мы хотим найти это этот URL,
так чтобы мы могли запросить следующую страницу.
Цель второго раздела
возможность продолжить дальше,
если на странице много ссылок, ты захочешь найти их все.
Это то, чем мы займемся во втором разделе,
выяснить, как продолжить, чтобы выделить все эти ссылки
В третьем разделе, мы хотим выйти за рамки только одной страницы.
Так что к концу раздела 2 мы сможем вывести все ссылки с одной страницы
Для третьего раздела нам нужно собрать всё эти ссылки, так что мы можем продолжить,
чтобы в конечном итоге, наш паук собрал много страниц.
Так что к концу третьего раздела мы доделаем веб паука.
У нас будет возможность сделать базу.
Тогда в оставшихся трёх разделах взглянем на то, как отвечать на запросы.
Таким образом в четвертом разделе подумаем над тем как получить хороший отклик.
Если ты ищешь какое-либо слово, ты хочешь получить в ответ список страниц,
где встречается это слово.
И в 5 разделе мы найдём способ сделать это, если у нас очень большая база.
Затем в шестом разделе, что мы хотим сделать, это не просто найти список страниц,
мы хотим найти наиболее подходящую.
Мы подумаем над тем, как расставить страницы, где это слово встречается.
Но мы сейчас немного забежали вперед,
потому что всё что мы собираемся сделать в первом разделе,
это выяснить как извлечь ссылку со страницы.
И поисковая машина, которую мы создадим в конце
будет вполне действующей поисковой машиной.
Она будет содержать такие же главные компоненты, как и у поисковой машину Google.
Она определенно не будет такой же мощной, как Google,
мы не хотим всё сильно усложнять.
Нам нужно будет написать не так много кода.
Мы хотим напомнить, что наша настоящая цель
не сколько написать поисковую машину,
а сколько воспользоваться необходимостью
написания поисковой машины для того,
чтобы изучить информатику и программирование
так, что вещи, которые мы изучим, делая поисковую машину
позволят нам в дальнейшем решить много других проблем.