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

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

Роботы , иногда называемый пауком или 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]

Список поисковых роботов [ править ]

См. Также: Список программного обеспечения поисковых систем , с каждым из которых обычно связан веб-сканер.

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

Исторические веб-сканеры [ править ]

  • World Wide Web Worm был поисковым роботом, который использовался для создания простого индекса заголовков документов и URL-адресов. Индекс можно найти с помощью команды grep Unix .
  • Yahoo! Slurp было названием Yahoo! Поисковый робот до Yahoo! заключил договор с Microsoft на использование вместо этого Bingbot .

Собственные поисковые роботы [ править ]

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

Коммерческие поисковые роботы [ править ]

Доступны следующие поисковые роботы по цене:

  • SortSite - краулер для анализа веб-сайтов, доступный для Windows и Mac OS
  • Swiftbot - поисковый робот Swiftype , доступный как программное обеспечение как услуга

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

  • Frontera - это структура веб-сканирования, реализующая компонент границы обхода и предоставляющая примитивы масштабируемости для приложений веб-сканеров.
  • GNU Wget - это искатель, работающий из командной строки, написанный на C и выпущенный под лицензией GPL . Обычно он используется для зеркалирования веб-сайтов и FTP-сайтов.
  • GRUB был распределенным поисковым роботом с открытым исходным кодом, который Wikia Search использовала для сканирования Интернета.
  • Heritrix - это искатель архивного качества Internet Archive , разработанный для периодического архивирования моментальных снимков большой части Интернета. Он был написан на Java .
  • ht: // Dig включает поискового робота в свой механизм индексирования.
  • HTTrack использует поискового робота для создания зеркала веб-сайта для просмотра в автономном режиме. Он написан на C и выпущен под лицензией GPL .
  • mnoGoSearch - это сканер, индексатор и поисковая система, написанные на C и лицензированные под GPL (только для машин * NIX)
  • 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 Проекта архивной 13 декабря 2009 в Wayback Machine
  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. Перейти ↑ Castillo, Carlos (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 . Архивировано из оригинального (PDF) 20 марта 2009 года . Проверено 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. ^ Shervin Daneshpajouh, Mojtaba Мохаммади Nasiri Мохаммад Ghodsi, быстрый алгоритм Общинное для создания Гусеничные Seeds Набор , в протекании 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, Ф. и Бель, РК (1998). Адаптивные информационные агенты в распределенных текстовых средах . В К. Сикара и М. Вулдридж (ред.) Proc. 2-й международный Конф. об автономных агентах (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 . В материалах первой конференции World Wide Web, Женева, Швейцария.
  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. Перейти ↑ Koster, M. (1995). Роботы в сети: угроза или лечение? Соединения, 9 (4).
  35. Перейти ↑ Koster, M. (1996). Стандарт исключения роботов. Архивировано 7 ноября 2007 года на Wayback Machine .
  36. Перейти ↑ Koster, M. (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). Поисковые интерфейсы в Интернете: запросы и характеристики. Архивировано 6 июля 2014 года на Wayback Machine . Докторские диссертации 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.