Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Архитектура поискового робота

Роботы , иногда называемый пауком или spiderbot и часто сокращаются до гусеничного , является Интернет - бот , который систематически просматривает World Wide Web, как правило , с целью Web индексации ( веб - робот - паук ).

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

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

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

Сканеры могут проверять гиперссылки и HTML-код. Их также можно использовать для парсинга веб-страниц (см. Также программирование, управляемое данными).

Номенклатура [ править ]

Веб - гусеничный также известен как паук , [1] муравьев , автоматический индексатор , [2] или (в FOAF контекста программного обеспечения) а веб - scutter . [3]

Обзор [ править ]

Поисковый робот запускается со списка URL-адресов для посещения, называемого семенами . Когда сканер посещает эти URL-адреса, он определяет все гиперссылки на страницах и добавляет их в список URL-адресов для посещения, называемый границей сканирования . URL-адреса из границы рекурсивно посещаются в соответствии с набором политик. Если поисковый робот выполняет архивирование веб-сайтов (или веб-архивирование ), он копирует и сохраняет информацию по мере ее поступления. Архивы обычно хранятся таким образом, чтобы их можно было просматривать, читать и перемещаться, как если бы они были в реальном времени, но сохраняются как «снимки». [4]

Архив известен как репозиторий и предназначен для хранения и управления коллекцией веб-страниц . В репозитории хранятся только HTML- страницы, и эти страницы хранятся как отдельные файлы. Репозиторий похож на любую другую систему, в которой хранятся данные, например на современную базу данных. Единственная разница в том, что репозиторию не нужны все функции, предлагаемые системой баз данных. В репозитории хранится самая последняя версия веб-страницы, полученная поисковым роботом. [5]

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

Количество возможных URL-адресов, создаваемых серверным программным обеспечением, также затрудняло поисковым роботам возможность получения дублированного контента . Существуют бесконечные комбинации параметров HTTP GET (на основе URL), из которых только небольшая часть фактически вернет уникальный контент. Например, простая онлайн-фотогалерея может предлагать пользователям три варианта, указанные в параметрах HTTP GET в URL-адресе. Если существует четыре способа сортировки изображений, три варианта размера миниатюр , два формата файлов и возможность отключения пользовательского контента, то к одному и тому же набору контента можно получить доступ по 48 различным URL-адресам, на все из которых можно ссылаться сайт. Эта математическая комбинация создает проблему для поисковых роботов, поскольку они должны перебирать бесконечные комбинации относительно незначительных изменений, внесенных в сценарий, чтобы получить уникальный контент.

Как Эдвардс и др. отмечалось: «Учитывая, что полоса пропускания для выполнения сканирования не является ни бесконечной, ни бесплатной, становится важным сканирование Интернета не только масштабируемым, но и эффективным способом, если необходимо поддерживать разумную меру качества или актуальности». [6] Сканер должен на каждом этапе тщательно выбирать, какие страницы посещать дальше.

Политика сканирования [ править ]

Поведение поискового робота - результат комбинации политик: [7]

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

Политика выбора [ править ]

Учитывая нынешний размер Интернета, даже крупные поисковые системы охватывают лишь часть общедоступной части. Исследование 2009 года показало, что даже крупномасштабные поисковые системы индексируют не более 40-70% индексируемой сети; [8] предыдущее исследование Стива Лоуренса и Ли Джайлза показало, что ни одна поисковая машина не проиндексировала более 16% Интернета в 1999 году. [9] Поскольку поисковый робот всегда загружает лишь часть веб-страниц , это очень желательно для загруженная часть должна содержать наиболее релевантные страницы, а не просто случайную выборку из Интернета.

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

Junghoo Cho et al. провел первое исследование политик для планирования сканирования. Их набор данных представлял собой сканирование 180 000 страниц из домена stanford.edu , в котором моделирование сканирования было выполнено с различными стратегиями. [10] Были протестированы показатели упорядочения: сначала в ширину , а в подсчет обратных ссылок и вычисление частичного PageRank . Один из выводов заключался в том, что если сканер хочет загрузить страницы с высоким PageRank на ранней стадии процесса сканирования, то лучше всего использовать стратегию частичного PageRank, за которой следуют «сначала в ширину» и «количество обратных ссылок». Однако эти результаты относятся только к одному домену. Чо также написал свою докторскую диссертацию в Стэнфорде о сканировании веб-страниц. [11]

Наджорк и Винер провели фактическое сканирование 328 миллионов страниц, используя порядок в ширину. [12] Они обнаружили, что сканирование в ширину захватывает страницы с высоким PageRank на ранней стадии сканирования (но они не сравнивали эту стратегию с другими стратегиями). Авторы объясняют этот результат тем, что «самые важные страницы имеют много ссылок на них с множества хостов, и эти ссылки будут найдены раньше, независимо от того, с какого хоста или страницы исходит сканирование».

Абитебоул разработал стратегию сканирования, основанную на алгоритме OPIC (онлайн-вычисление важности страницы). [13] В OPIC каждой странице дается начальная сумма «наличных», которая распределяется поровну между страницами, на которые она указывает. Это похоже на вычисление PageRank, но быстрее и выполняется только за один шаг. Сканер, управляемый OPIC, сначала загружает страницы на границе сканирования с более высокими суммами «наличных». Эксперименты проводились на синтетическом графике на 100 000 страниц с степенным распределением внутренних ссылок. Однако не было никакого сравнения с другими стратегиями или экспериментами в реальной сети.

Болди и др. использовала моделирование на подмножествах Интернета из 40 миллионов страниц из домена .it и 100 миллионов страниц из сканирования WebBase, проверяя сначала ширину в сравнении с глубиной, случайным порядком и всезнающей стратегией. Сравнение основывалось на том, насколько хорошо PageRank, вычисленный при частичном сканировании, приближается к истинному значению PageRank. Удивительно, но некоторые посещения, которые очень быстро накапливают PageRank (в первую очередь, посещения в ширину и всезнающие посещения), дают очень плохие прогрессивные приближения. [14] [15]

Baeza-Yates et al. использовал моделирование на двух подмножествах Интернета из 3 миллионов страниц из домена .gr и .cl , протестировав несколько стратегий сканирования. [16] Они показали, что и стратегия OPIC, и стратегия, использующая длину очередей для каждого сайта, лучше, чем сканирование в ширину , и что также очень эффективно использовать предыдущее сканирование, когда оно доступно, для вести текущий.

Daneshpajouh et al. разработал алгоритм поиска хороших семян на основе сообщества. [17] Их метод сканирует веб-страницы с высоким PageRank из разных сообществ за меньшее количество итераций по сравнению со сканированием, начиная со случайных начальных чисел. С помощью этого нового метода можно извлечь хорошее начальное число из ранее просматриваемого веб-графа. Используя эти семена, новое сканирование может быть очень эффективным.

Ограничение переходов по ссылкам [ править ]

Сканер может захотеть только искать HTML-страницы и избегать всех других типов MIME . Чтобы запросить только ресурсы HTML, сканер может сделать запрос HTTP HEAD, чтобы определить MIME-тип веб-ресурса, прежде чем запрашивать весь ресурс с помощью запроса GET. Чтобы избежать многочисленных запросов HEAD, сканер может проверить URL-адрес и запросить ресурс только в том случае, если URL-адрес заканчивается определенными символами, такими как .html, .htm, .asp, .aspx, .php, .jsp, .jspx или косой чертой. . Эта стратегия может привести к непреднамеренному пропуску множества веб-ресурсов HTML.

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

Нормализация URL [ править ]

Сканеры обычно выполняют некоторый тип нормализации URL , чтобы избежать сканирования одного и того же ресурса более одного раза. Термин « нормализация URL-адреса» , также называемый канонизацией URL-адреса , относится к процессу согласованного изменения и стандартизации URL-адреса. Существует несколько типов нормализации, включая преобразование URL-адресов в нижний регистр, удаление символа "." и сегменты ".." и добавление завершающих слэшей к непустому компоненту пути. [18]

Сканирование по восходящей [ править ]

Некоторые сканеры намереваются загрузить / выгрузить как можно больше ресурсов с определенного веб-сайта. Поэтому был введен поисковый робот с восходящим движением, который будет восходить к каждому пути в каждом URL, который он намеревается сканировать. [19] Например, при задании исходного URL http://llama.org/hamster/monkey/page.html он попытается сканировать / hamster / monkey /, / hamster / и /. Cothey обнаружил, что поисковый робот по восходящему пути очень эффективен при поиске изолированных ресурсов или ресурсов, для которых не было бы найдено входящих ссылок при обычном сканировании.

Целенаправленное сканирование [ править ]

Важность страницы для поискового робота также может быть выражена как функция сходства страницы с заданным запросом. Веб-сканеры, которые пытаются загрузить похожие друг на друга страницы, называются специализированными поисковыми роботами или тематическими поисковыми роботами . Концепции тематического и целенаправленного ползания были впервые введены Филиппо Менцером [20] [21] и Суменом Чакрабарти и др. [22]

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

Поисковый робот, ориентированный на академические науки [ править ]

Пример сфокусированных гусеничные являются научными роботами, которые свободно ползают доступ академических соответствующие документы, такие как citeseerxbot , что искатель из CiteSeer X поисковой системы. Другими академическими поисковыми машинами являются Google Scholar и Microsoft Academic Search и т. Д. Поскольку большинство научных статей публикуется в форматах PDF , такие поисковые роботы особенно заинтересованы в сканировании файлов PDF , PostScript , Microsoft Word, включая их заархивированные форматы. Из-за этого обычные поисковые роботы с открытым исходным кодом, такие как Heritrix, должны быть настроены для фильтрации других типов MIME , либо для извлечения этих документов и их импорта в целевую базу данных и репозиторий обхода контента используется промежуточное программное обеспечение . [25] Определить, являются ли эти документы академическими или нет, сложно и может добавить значительные накладные расходы к процессу сканирования, поэтому он выполняется как процесс пост-сканирования с использованием алгоритмов машинного обучения или регулярных выражений . Эти академические документы обычно берутся с домашних страниц факультетов и студентов или со страниц публикаций исследовательских институтов. Поскольку академические документы занимают лишь небольшую часть всех веб-страниц, хороший выбор начального числа важен для повышения эффективности этих поисковых роботов.[26] Другие академические сканеры могут загружать простой текст ифайлы HTML , которые содержат метаданные научных статей, такие как названия, статьи и рефераты. Это увеличивает общее количество статей, но значительная часть может не обеспечивать бесплатнуюзагрузку PDF .

Поисковый робот, ориентированный на семантику [ править ]

Другой тип целевых поисковых роботов - это семантически ориентированный поисковый робот, который использует онтологии предметной области для представления тематических карт и связывания веб-страниц с соответствующими онтологическими концепциями для целей выбора и категоризации. [27] Кроме того, онтологии могут автоматически обновляться в процессе сканирования. Донг и др. [28] представил такой поисковый робот, основанный на изучении онтологий, использующий машину векторов поддержки для обновления содержимого онтологических концепций при сканировании веб-страниц.

Политика повторного посещения [ править ]

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

С точки зрения поисковой системы, существует стоимость, связанная с отсутствием обнаружения события и, следовательно, с наличием устаревшей копии ресурса. Наиболее часто используемые функции затрат - свежесть и возраст. [29]

Свежесть : это двоичная мера, которая указывает, является ли локальная копия точной или нет. Свежесть страницы p в репозитории в момент времени t определяется как:

Возраст : это показатель, показывающий, насколько устарела локальная копия. Возраст страницы p в репозитории в момент времени t определяется как:

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

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

Эволюция свежести и возраста в веб-сканере

Чо и Гарсия-Молина изучили две простые правила повторного посещения: [31]

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

В обоих случаях повторный порядок сканирования страниц может выполняться в случайном или фиксированном порядке.

Чо и Гарсиа-Молина доказали удивительный результат: с точки зрения средней актуальности единообразная политика превосходит пропорциональную политику как в моделируемой сети, так и в реальном сканировании сети. Интуитивно это объясняется тем, что, поскольку у веб-сканеров есть ограничение на количество страниц, которые они могут сканировать за определенный период времени, (1) они будут выделять слишком много новых сканирований для быстро меняющихся страниц за счет менее частого обновления страниц и (2) свежесть быстро меняющихся страниц сохраняется в течение более короткого периода времени, чем у менее часто меняющихся страниц. Другими словами, пропорциональная политика выделяет больше ресурсов на сканирование часто обновляемых страниц, но меньше времени от них отводит общему обновлению.

Чтобы улучшить свежесть, сканер должен штрафовать элементы, которые меняются слишком часто. [32] Оптимальная политика повторного посещения не является ни единообразной, ни пропорциональной политикой. Оптимальный метод поддержания высокого среднего уровня свежести включает игнорирование страниц, которые слишком часто меняются, а оптимальным для поддержания низкого среднего возраста является использование частоты доступа, которая монотонно (и сублинейно) возрастает со скоростью изменения каждой страницы. В обоих случаях оптимальное ближе к единой политике, чем к пропорциональной: как Coffman et al. обратите внимание, «чтобы минимизировать ожидаемое время устаревания, доступ к любой конкретной странице должен быть как можно более равномерным». [30]Явные формулы для политики повторного посещения, как правило, недостижимы, но они получаются численно, поскольку зависят от распределения изменений страниц. Чо и Гарсиа-Молина показывают, что экспоненциальное распределение хорошо подходит для описания изменений страниц [32], в то время как Ipeirotis et al. покажите, как использовать статистические инструменты для обнаружения параметров, влияющих на это распределение. [33] Обратите внимание, что политика повторного посещения, рассматриваемая здесь, рассматривает все страницы как однородные с точки зрения качества («все страницы в Интернете имеют одинаковую ценность»), что нереально, поэтому дополнительная информация о веб-странице качество должно быть включено, чтобы обеспечить лучшую политику сканирования.

Политика вежливости [ править ]

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

Как отметил Костер, использование поисковых роботов полезно для ряда задач, но за это приходится платить сообществу в целом. [34] Стоимость использования поисковых роботов включает:

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

Частичным решением этих проблем является протокол исключения роботов , также известный как протокол robots.txt, который является стандартом для администраторов, указывающих, какие части их веб-серверов не должны быть доступны поисковым роботам. [35] Этот стандарт не включает предложения относительно интервала посещений одного и того же сервера, хотя этот интервал является наиболее эффективным способом избежать перегрузки сервера. Недавно появившиеся коммерческие поисковые системы, такие как Google , Ask Jeeves , MSN и Yahoo! Поиск может использовать дополнительный параметр "Crawl-delay:" в файле robots.txt, чтобы указать количество секунд задержки между запросами.

Первый предложенный интервал между последовательными загрузками страниц составлял 60 секунд. [36] Однако, если бы страницы загружались с такой скоростью с веб-сайта, содержащего более 100 000 страниц, при идеальном соединении с нулевой задержкой и бесконечной пропускной способностью, загрузка только этого веб-сайта целиком заняла бы более 2 месяцев; кроме того, будет использоваться только часть ресурсов этого веб-сервера. Это не кажется приемлемым.

Cho использует 10 секунд в качестве интервала для доступа [31], а поисковый робот WIRE по умолчанию использует 15 секунд. [37] Сканер MercatorWeb следует политике адаптивной вежливости: если для загрузки документа с заданного сервера потребовалось t секунд, он ждет 10 t секунд перед загрузкой следующей страницы. [38] Dill et al. используйте 1 секунду. [39]

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

Неофициальные данные из журналов доступа показывают, что интервалы доступа известных поисковых роботов варьируются от 20 секунд до 3-4 минут. Стоит отметить, что даже если он очень вежлив и принимает все меры предосторожности, чтобы избежать перегрузки веб-серверов, некоторые жалобы от администраторов веб-серверов поступают. Брин и Пейдж отмечают, что: «... запуск поискового робота, который подключается к более чем полумиллиону серверов (...), генерирует изрядное количество электронных писем и телефонных звонков. Из-за огромного количества людей, подключенных к сети, всегда есть те, кто не знает, что такое краулер, потому что это первый, кого они видели ». [41]

Политика распараллеливания [ править ]

Параллельный искатель гусеничный , который запускает несколько процессов параллельно. Цель состоит в том, чтобы максимизировать скорость загрузки при минимизации накладных расходов из-за распараллеливания и избежать повторных загрузок одной и той же страницы. Чтобы избежать загрузки одной и той же страницы более одного раза, системе сканирования требуется политика для назначения новых URL-адресов, обнаруженных в процессе сканирования, поскольку один и тот же URL-адрес может быть найден двумя разными процессами сканирования.

Архитектура [ править ]

Архитектура высокого уровня стандартного поискового робота

Сканер должен иметь не только хорошую стратегию сканирования, как отмечалось в предыдущих разделах, но и высоко оптимизированную архитектуру.

Шкапенюк и Суэль ​​отметили, что: [42]

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

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

Безопасность [ править ]

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

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

Идентификация сканера [ править ]

Поисковые роботы обычно идентифицируют себя для веб-сервера с помощью поля User-agent HTTP- запроса. Администраторы веб-сайтов обычно изучают журнал своих веб-серверов и используют поле агента пользователя, чтобы определить, какие поисковые роботы посещали веб-сервер и как часто. Поле пользовательского агента может включать URL-адрес, по которому администратор веб-сайта может найти дополнительную информацию о поисковом роботе. Изучение журнала веб-сервера - утомительная задача, поэтому некоторые администраторы используют инструменты для идентификации, отслеживания и проверки поисковых роботов. Спам-боты и другие вредоносные веб-сканеры вряд ли поместят идентифицирующую информацию в поле пользовательского агента или могут замаскировать свою личность в качестве браузера или другого известного поискового робота.

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

Сканирование глубокой сети [ править ]

Огромное количество веб-страниц лежит в глубокой или невидимой сети . [43] Эти страницы обычно доступны только при отправке запросов в базу данных, и обычные сканеры не могут найти эти страницы, если на них нет ссылок. Протокол и модуль Google Sitemaps [44] предназначены для того, чтобы разрешить обнаружение этих глубоких веб-ресурсов.

Глубокое сканирование также увеличивает количество просматриваемых веб-ссылок. Некоторые сканеры принимают только некоторые URL-адреса в <a href="URL">форме. В некоторых случаях, таких как робот Googlebot , сканирование в Интернете выполняется по всему тексту, содержащемуся внутри гипертекстового содержимого, тегов или текста.

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

Страницы, построенные на AJAX, относятся к числу тех, которые вызывают проблемы у поисковых роботов. Google предложил формат вызовов AJAX, который их бот может распознать и проиндексировать. [46]

Предвзятость поискового робота [ править ]

Недавнее исследование, основанное на широкомасштабном анализе файлов robots.txt, показало, что одни поисковые роботы предпочтительнее других, а робот Google - наиболее предпочтительный поисковый робот. [47]

Визуальные и программные сканеры [ править ]

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

Метод визуального сканирования / обхода основан на том, что пользователь «обучает» часть технологии поискового робота, которая затем следует шаблонам в полуструктурированных источниках данных. Основной метод обучения визуального краулера - это выделение данных в браузере и обучение столбцов и строк. Хотя технология не нова, например, она легла в основу Needlebase, которая была куплена Google (как часть более крупного приобретения ITA Labs [48] ), инвесторы продолжают расти и вкладывать в эту область пользователей. [49]

Примеры [ править ]

Ниже приводится список опубликованных архитектур сканеров для поисковых роботов общего назначения (за исключением специализированных веб-сканеров) с кратким описанием, которое включает имена, присвоенные различным компонентам и выдающимся функциям:

  • Bingbot - это имя веб- краулера Microsoft Bing . Он заменил Msnbot .
  • Baiduspider - это поисковый робот Baidu .
  • Робот Googlebot описан довольно подробно, но ссылка касается только ранней версии его архитектуры, написанной на C ++ и Python . Сканер был интегрирован с процессом индексации, поскольку анализ текста выполнялся для полнотекстового индексирования, а также для извлечения URL. Существует URL-сервер, который отправляет списки URL-адресов, которые должны быть получены несколькими процессами сканирования. Во время синтаксического анализа найденные URL-адреса были переданы URL-серверу, который проверял, был ли URL-адрес ранее виден. В противном случае URL-адрес был добавлен в очередь URL-сервера.
  • SortSite
  • Swiftbot - это поисковый робот Swiftype .
  • WebCrawler использовался для создания первого общедоступного полнотекстового индекса подмножества Интернета. Он был основан на lib-WWW для загрузки страниц и на другой программе для синтаксического анализа и упорядочивания URL-адресов для исследования веб-графа вширь. Он также включал поисковый робот в реальном времени, который переходил по ссылкам на основании сходства текста привязки с предоставленным запросом.
  • WebFountain - это распределенный модульный поисковый робот, похожий на Mercator, но написанный на C ++.
  • World Wide Web Worm был поисковым роботом, который использовался для создания простого индекса заголовков документов и URL-адресов. Индекс можно найти с помощью команды grep Unix .
  • Xenon - это веб-сканер, используемый государственными налоговыми органами для обнаружения мошенничества. [50] [51]
  • Yahoo! Slurp было названием Yahoo! Поисковый робот до Yahoo! заключил договор с Microsoft на использование Bingbot .

Поисковые роботы с открытым исходным кодом [ править ]

  • Frontera - это структура веб-сканирования, реализующая компонент границы обхода и предоставляющая примитивы масштабируемости для приложений веб-сканеров.
  • GNU Wget - это искатель, работающий из командной строки, написанный на C и выпущенный под лицензией GPL . Обычно он используется для зеркалирования веб-сайтов и FTP-сайтов.
  • GRUB был распределенным поисковым роботом с открытым исходным кодом, который Wikia Search использовала для сканирования Интернета.
  • Heritrix - это искатель архивного качества Internet Archive , разработанный для периодического архивирования моментальных снимков большой части Интернета. Он был написан на Java .
  • ht: // Dig включает поискового робота в свой механизм индексирования.
  • HTTrack использует поискового робота для создания зеркала веб-сайта для просмотра в автономном режиме. Он написан на C и выпущен под лицензией GPL .
  • mnoGoSearch - это краулер, индексатор и поисковая система, написанные на C и лицензированные под GPL (только для машин * NIX)
  • Norconex HTTP Collector - это веб-паук или искатель, написанный на Java , который призван облегчить жизнь интеграторам и разработчикам корпоративного поиска (под лицензией Apache License ).
  • Apache Nutch - это расширяемый и масштабируемый веб-сканер, написанный на Java и выпущенный под лицензией Apache . Он основан на Apache Hadoop и может использоваться с Apache Solr или Elasticsearch .
  • Open Search Server - это версия программного обеспечения для поисковых систем и веб-сканеров под лицензией GPL .
  • PHP-Crawler - это простой сканер на базе PHP и MySQL, выпущенный под лицензией BSD .
  • Scrapy , фреймворк для веб-краулеров с открытым исходным кодом, написанный на python (под лицензией BSD ).
  • Seeks , бесплатная распространяемая поисковая система (под лицензией AGPL ).
  • StormCrawler , набор ресурсов для создания масштабируемых веб-сканеров с малой задержкой на Apache Storm ( лицензия Apache ).
  • tkWWW Robot , поисковый робот на основе веб-браузера tkWWW (под лицензией GPL ).
  • Xapian , поисковая машина, написанная на C ++.
  • YaCy - это бесплатная распределенная поисковая система, построенная на принципах одноранговой сети (под лицензией GPL ).
  • Trandoshan , бесплатный распределенный веб-сканер с открытым исходным кодом, разработанный для глубокой сети.

См. Также [ править ]

  • Автоматическая индексация
  • Гнутелла краулер
  • Веб-архивирование
  • Webgraph
  • Программное обеспечение для зеркалирования веб-сайтов
  • Парсинг поисковой системы
  • Веб-скрапинг

Ссылки [ править ]

  1. ^ Спетка, Скотт. «Робот TkWWW: За пределами просмотра» . NCSA . Архивировано из оригинального 3 -го сентября 2004 года . Проверено 21 ноября 2010 года .
  2. Перейти ↑ Kobayashi, M. & Takeda, K. (2000). «Поиск информации в сети». ACM Computing Surveys . 32 (2): 144–173. CiteSeerX 10.1.1.126.6094 . DOI : 10.1145 / 358923.358934 . S2CID 3710903 .  
  3. ^ См. Определение scutter в вики проекта FOAF.
  4. ^ Masanès, Жюльен (15 февраля 2007). Веб-архивирование . Springer. п. 1. ISBN 978-3-54046332-0. Проверено 24 апреля 2014 года .
  5. ^ Патил, Югандхара; Патил, Сонал (2016). «Обзор веб-сканеров со спецификацией и работой» (PDF) . Международный журнал перспективных исследований в области компьютерной и коммуникационной техники . 5 (1): 4.
  6. ^ Эдвардс, J., McCurley, К. С., и Томлин, JA (2001). «Адаптивная модель для оптимизации производительности инкрементального поискового робота». Материалы десятой международной конференции по всемирной паутине - WWW '01 . В материалах Десятой конференции по всемирной паутине . С. 106–113. CiteSeerX 10.1.1.1018.1506 . DOI : 10.1145 / 371920.371960 . ISBN  978-1581133486. S2CID  10316730 .CS1 maint: multiple names: authors list (link)
  7. ^ Кастильо, Карлос (2004). Эффективное сканирование веб-сайтов (кандидатская диссертация). Университет Чили . Проверено 3 августа 2010 года .
  8. ^ А. Чайки; А. Синьори (2005). «Индексируемая сеть составляет более 11,5 миллиардов страниц». Интересные треки и постеры 14-й международной конференции во всемирной паутине . ACM Press. С. 902–903. DOI : 10.1145 / 1062745.1062789 .
  9. ^ Стив Лоуренс; К. Ли Джайлз (8 июля 1999 г.). «Доступность информации в сети». Природа . 400 (6740): 107–9. Bibcode : 1999Natur.400..107L . DOI : 10.1038 / 21987 . PMID 10428673 . S2CID 4347646 .  
  10. ^ Чо, Дж .; Garcia-Molina, H .; Пейдж Л. (апрель 1998 г.). «Эффективное сканирование с помощью упорядочивания URL» . Седьмая Международная конференция по всемирной паутине . Брисбен, Австралия. DOI : 10,1142 / 3725 . ISBN 978-981-02-3400-3. Проверено 23 марта 2009 года .
  11. ^ Чо, Джунху, «Сканирование Интернета: обнаружение и обслуживание крупномасштабных веб-данных» , докторская диссертация, факультет компьютерных наук, Стэнфордский университет, ноябрь 2001 г.
  12. ^ Марк Наджорк и Джанет Л. Винер. Сканирование в ширину обеспечивает высокое качество страниц . В материалах Десятой конференции по всемирной паутине, страницы 114–118, Гонконг, май 2001 г. Elsevier Science.
  13. ^ Серж Абитебул; Михай Преда; Грегори Кобена (2003). «Адаптивный онлайн-расчет важности страницы» . Материалы 12-й международной конференции по всемирной паутине . Будапешт, Венгрия: ACM. С. 280–290. DOI : 10.1145 / 775152.775192 . ISBN 1-58113-680-3. Проверено 22 марта 2009 года .
  14. ^ Паоло Болди; Бруно Коденотти; Массимо Сантини; Себастьяно Винья (2004). «UbiCrawler: масштабируемый полностью распределенный веб-сканер» (PDF) . Программное обеспечение: практика и опыт . 34 (8): 711–726. CiteSeerX 10.1.1.2.5538 . DOI : 10.1002 / spe.587 . S2CID 325714 . Проверено 23 марта 2009 года .   
  15. ^ Паоло Болди; Массимо Сантини; Себастьяно Винья (2004). «Делайте все возможное, чтобы добиться наилучшего: парадоксальные эффекты в дополнительных вычислениях PageRank» (PDF) . Алгоритмы и модели веб-графа . Конспект лекций по информатике. 3243 . С. 168–180. DOI : 10.1007 / 978-3-540-30216-2_14 . ISBN  978-3-540-23427-2. Проверено 23 марта 2009 года .
  16. Перейти ↑ Baeza-Yates, R., Castillo, C., Marin, M. и Rodriguez, A. (2005). Сканирование страны: лучшие стратегии, чем поиск в ширину для заказа веб-страниц . В треке «Труды производственного и практического опыта» 14-й конференции по всемирной паутине, страницы 864–872, Чиба, Япония. ACM Press.
  17. ^ Шервин Данешпаджух, Моджтаба Мохаммади Насири, Мохаммад Годси, Быстрый алгоритм на основе сообщества для создания набора поисковых роботов, впродолжение 4-й Международной конференции по веб-информационным системам и технологиям ( Webist -2008), Фуншал, Португалия, май 2008 г.
  18. ^ Пант, Гаутам; Шринивасан, Падмини; Менцер, Филиппо (2004). «Сканирование Интернета» (PDF) . В Левене, Марк; Poulovassilis, Александра (ред.). Web Dynamics: адаптация к изменениям в содержании, размере, топологии и использовании . Springer. С. 153–178. ISBN  978-3-540-40676-1.
  19. ^ Cothey, Вив (2004). «Надежность веб-сканирования» (PDF) . Журнал Американского общества информационных наук и технологий . 55 (14): 1228–1238. CiteSeerX 10.1.1.117.185 . DOI : 10.1002 / asi.20078 .  
  20. ^ Menczer, F. (1997). ARACHNID: агенты адаптивного поиска, выбирающие эвристические окрестности для обнаружения информации . В Д. Фишере, изд., Машинное обучение: материалы 14-й Международной конференции (ICML97). Морган Кауфманн
  21. ^ Menczer, F. и Belew, RK (1998). Адаптивные информационные агенты в распределенных текстовых средах . В К. Сикара и М. Вулдридж (ред.) Proc. 2nd Intl. Конф. об автономных агентах (Agents '98). ACM Press
  22. ^ Чакрабарти, Сумен; Ван ден Берг, Мартин; Дом, Байрон (1999). «Целенаправленное сканирование: новый подход к обнаружению тематических веб-ресурсов» (PDF) . Компьютерные сети . 31 (11–16): 1623–1640. DOI : 10.1016 / s1389-1286 (99) 00052-3 . Архивировано из оригинального (PDF) 17 марта 2004 года.
  23. ^ Пинкертон, Б. (1994). Поиск того, что хотят люди: опыт работы с WebCrawler . В материалах Первой конференции в Интернете, Женева, Швейцария.
  24. ^ Diligenti, М., Кутзее, Ф., Лоуренс, С., Жиль, CL, и Гори, М. (2000). Целенаправленное сканирование с использованием контекстных графов . В материалах 26-й Международной конференции по очень большим базам данных (VLDB), страницы 527-534, Каир, Египет.
  25. ^ Ву, Цзянь; Тереговда, Прадип; Хабса, Мадиан; Карман, Стивен; Джордан, Дуглас; Сан-Педро Ванделмер, Хосе; Лу, Синь; Митра, Прасенджит; Джайлз, К. Ли (2012). «Промежуточное программное обеспечение веб-краулера для электронных библиотек поисковых систем». Материалы двенадцатого международного семинара по веб-информации и управлению данными - WIDM '12 . п. 57. DOI : 10,1145 / 2389936,2389949 . ISBN 9781450317207. S2CID  18513666 .
  26. ^ Ву, Цзянь; Тереговда, Прадип; Рамирес, Хуан Пабло Фернандес; Митра, Прасенджит; Чжэн, Шуйи; Джайлз, К. Ли (2012). «Эволюция стратегии сканирования для поисковой системы академических документов». Материалы 3-й ежегодной конференции ACM Web Science по веб-сайту - Web Sci '12 . С. 340–343. DOI : 10.1145 / 2380718.2380762 . ISBN 9781450312288. S2CID  16718130 .
  27. ^ Донг, Хай; Хуссейн, Фарух Хадир; Чанг, Элизабет (2009). «Современное состояние семантических поисковых роботов» . Вычислительная наука и ее приложения - ICCSA 2009 . Конспект лекций по информатике. 5593 . С. 910–924. DOI : 10.1007 / 978-3-642-02457-3_74 . ЛВП : 20.500.11937 / 48288 . ISBN 978-3-642-02456-6.
  28. ^ Донг, Хай; Хуссейн, Фарух Хадир (2013). «SOF: полууправляемый целенаправленный поисковый робот, основанный на изучении онтологий» . Параллелизм и вычисления: практика и опыт . 25 (12): 1755–1770. DOI : 10.1002 / cpe.2980 . S2CID 205690364 . 
  29. ^ Чонху Чо; Эктор Гарсиа-Молина (2000). «Синхронизация базы данных для повышения свежести» (PDF) . Материалы международной конференции ACM SIGMOD 2000 г. по управлению данными . Даллас, Техас, США: ACM. С. 117–128. DOI : 10.1145 / 342009.335391 . ISBN  1-58113-217-4. Проверено 23 марта 2009 года .
  30. ^ a b Э. Г. Коффман-младший; Чжэнь Лю; Ричард Р. Вебер (1998). «Оптимальное планирование роботов для поисковых систем». Журнал планирования . 1 (1): 15–29. CiteSeerX 10.1.1.36.6087 . DOI : 10.1002 / (SICI) 1099-1425 (199806) 1: 1 <15 :: AID-JOS3> 3.0.CO; 2-K . 
  31. ^ а б Чо, Джунху; Гарсия-Молина, Гектор (2003). «Эффективные политики обновления страниц для поисковых роботов». ACM-транзакции в системах баз данных . 28 (4): 390–426. DOI : 10.1145 / 958942.958945 . S2CID 147958 . 
  32. ^ a b Чонху Чо; Эктор Гарсиа-Молина (2003). «Оценка частоты изменения». ACM-транзакции по Интернет-технологиям . 3 (3): 256–290. CiteSeerX 10.1.1.59.5877 . DOI : 10.1145 / 857166.857170 . S2CID 9362566 .  
  33. ^ Ипейротис, П., Нтулас, А., Чо, Дж., Гравано, Л. (2005) Моделирование и управление изменениями содержания в текстовых базах данных . В материалах 21-й Международной конференции IEEE по инженерии данных, страницы 606-617, апрель 2005 г., Токио.
  34. ^ Костер, М. (1995). Роботы в сети: угроза или лечение? Соединения, 9 (4).
  35. ^ Костер, М. (1996). Стандарт исключения роботов .
  36. ^ Костер, М. (1993). Руководство для роботов-писателей .
  37. Перейти ↑ Baeza-Yates, R. and Castillo, C. (2002). Уравновешивание объема, качества и актуальности сканирования веб-страниц . В мягких вычислительных системах - проектирование, управление и приложения, страницы 565–572, Сантьяго, Чили. IOS Press, Амстердам.
  38. ^ Хейдон, Аллан; Наджорк, Марк (26 июня 1999 г.). «Меркатор: масштабируемый, расширяемый веб-сканер» (PDF) . Архивировано из оригинального (PDF) 19 февраля 2006 года . Проверено 22 марта 2009 года . Cite journal requires |journal= (help)
  39. ^ Dill, S .; Kumar, R .; Mccurley, KS; Rajagopalan, S .; Sivakumar, D .; Томкинс, А. (2002). «Самоподобие в сети» (PDF) . ACM-транзакции по Интернет-технологиям . 2 (3): 205–223. DOI : 10.1145 / 572326.572328 . S2CID 6416041 .  
  40. ^ М. Телуолл; Д. Стюарт (2006). «Новый взгляд на этику сканирования Интернета: стоимость, конфиденциальность и отказ в обслуживании» . Журнал Американского общества информационных наук и технологий . 57 (13): 1771–1779. DOI : 10.1002 / asi.20388 .
  41. ^ Брин, Сергей; Пейдж, Лоуренс (1998). «Анатомия крупномасштабной гипертекстовой поисковой системы в Интернете» . Компьютерные сети и системы ISDN . 30 (1–7): 107–117. DOI : 10.1016 / s0169-7552 (98) 00110-X .
  42. ^ Shkapenyuk, В. и Суэл, Т. (2002). Разработка и внедрение высокопроизводительного распределенного веб-краулера . В материалах 18-й Международной конференции по инженерии данных (ICDE), страницы 357-368, Сан-Хосе, Калифорния. IEEE CS Press.
  43. Шестаков, Денис (2008). Поисковые интерфейсы в Интернете: запросы и характеристики . Докторские диссертации 104 TUCS, Университет Турку
  44. ^ Майкл Л. Нельсон; Герберт Ван де Сомпель; Сяомин Лю; Терри Л. Харрисон; Натан Макфарланд (24 марта 2005 г.). «mod_oai: модуль Apache для сбора метаданных»: cs / 0503069. arXiv : cs / 0503069 . Bibcode : 2005cs ........ 3069N . Cite journal requires |journal= (help)
  45. ^ Шестаков, Денис; Bhowmick, Sourav S .; Лим, И-Пэн (2005). «DEQUE: запросы к глубокой сети» (PDF) . Инженерия данных и знаний . 52 (3): 273–311. DOI : 10.1016 / s0169-023x (04) 00107-7 .
  46. ^ «Сканирование AJAX: Руководство для веб-мастеров и разработчиков» . Проверено 17 марта 2013 года .
  47. Sun, Yang (25 августа 2008 г.). "КОМПЛЕКСНОЕ ИЗУЧЕНИЕ РЕГУЛИРОВАНИЯ И ПОВЕДЕНИЯ ВЕБ-ПОИСКОВ. Сканеры или веб-пауки - это программные роботы, которые обрабатывают файлы трассировки и просматривают сотни миллиардов страниц, найденных в Интернете. Обычно это определяется путем отслеживания ключевых слов, по которым выполняется поиск пользователей поисковых систем - фактор, который меняется секунда за секундой: согласно Moz, только 30% запросов, выполняемых в поисковых системах, таких как Google, Bing или Yahoo !, соответствуют общим словам и фразам. Остальные 70% обычно случайны » . Проверено 11 августа 2014 . Cite journal requires |journal= (help)
  48. ^ ITA Labs «Приобретение ITA Labs» 20 апреля 2011 г., 1:28
  49. ^ Crunchbase.com Март 2014 «Профиль Crunch Base для import.io»
  50. Нортон, Куинн (25 января 2007 г.). «Налоги присылают пауков» . Бизнес. Проводной . Архивировано 22 декабря 2016 года . Проверено 13 октября 2017 года .
  51. ^ «Инициатива Xenon Web Crawling: сводка оценки воздействия на конфиденциальность (PIA)» . Оттава: Правительство Канады. 11 апреля 2017. Архивировано 25 сентября 2017 года . Проверено 13 октября 2017 года .

Дальнейшее чтение [ править ]

  • Чо, Джунху, "Проект веб- сканирования " , Департамент компьютерных наук Калифорнийского университета в Лос-Анджелесе.
  • История поисковых систем от Wiley
  • WIVET - это проект OWASP по сравнительному анализу , цель которого - определить, может ли веб-сканер идентифицировать все гиперссылки на целевом веб-сайте.
  • Шестаков, Денис, «Текущие проблемы веб-сканирования» и «Интеллектуальное веб-сканирование» , слайды для руководств, представленных на ICWE'13 и WI-IAT'13.