Поисковый робот - Web crawler

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

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

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

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

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

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

Номенклатура

Веб-сканер также известен как паук,[1] ан муравей, автоматический индексатор,[2] или (в FOAF программный контекст) a Веб-скаттер.[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-адрес (последний случай вертикальные поисковые системы ограничен одним домен верхнего уровня, или поисковые системы, ограниченные фиксированным веб-сайтом). Разработка хорошей политики выбора сопряжена с дополнительными трудностями: она должна работать с частичной информацией, поскольку полный набор веб-страниц неизвестен во время сканирования.

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

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

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

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

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

Данешпаджух и другие. разработал алгоритм поиска хороших семян на основе сообщества.[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 и другие.[24] Предлагаем использовать полное содержание уже посещенных страниц, чтобы сделать вывод о сходстве между ведущим запросом и страницами, которые еще не были посещены. Производительность целенаправленного сканирования в основном зависит от количества ссылок в конкретной теме, в которой выполняется поиск, а целенаправленное сканирование обычно полагается на общую поисковую машину в Интернете для обеспечения отправных точек.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Политика вежливости

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

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

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

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

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

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

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

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

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

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

Архитектура

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

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

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

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

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

Безопасность

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

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

Идентификация краулера

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

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

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

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

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

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

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

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

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

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

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

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

Примеры

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

  • Bingbot это имя Microsoft Bing webcrawler. Он заменил 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 команда.
  • Ксенон - это поисковый робот, используемый государственными налоговыми органами для обнаружения мошенничества.[50][51]
  • Yahoo! Slurp было названием Yahoo! Поисковый робот до Yahoo! заключил договор с Microsoft использовать Bingbot вместо.

Сканеры с открытым исходным кодом

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

Смотрите также

Рекомендации

  1. ^ Спетка, Скотт. "Робот TkWWW: За пределами просмотра". NCSA. Архивировано из оригинал 3 сентября 2004 г.. Получено 21 ноября 2010.
  2. ^ Кобаяси, М. и Такеда, К. (2000). «Поиск информации в сети». Опросы ACM Computing. 32 (2): 144–173. CiteSeerX  10.1.1.126.6094. Дои:10.1145/358923.358934. S2CID  3710903.
  3. ^ Видеть определение скаттера на вики проекта FOAF
  4. ^ Масанес, Жюльен (15 февраля 2007 г.). Веб-архивирование. Springer. п. 1. ISBN  978-3-54046332-0. Получено 24 апреля 2014.
  5. ^ Патил, Югандхара; Патил, Сонал (2016). «Обзор веб-сканеров со спецификацией и работой» (PDF). Международный журнал перспективных исследований в области компьютерной и коммуникационной техники. 5 (1): 4.
  6. ^ Эдвардс, Дж., МакКерли, К. С., и Томлин, Дж. А. (2001). «Адаптивная модель для оптимизации производительности инкрементального поискового робота». Материалы десятой международной конференции по всемирной паутине - WWW '01. В материалах десятой конференции по всемирной паутине. С. 106–113. CiteSeerX  10.1.1.1018.1506. Дои:10.1145/371920.371960. ISBN  978-1581133486. S2CID  10316730.CS1 maint: несколько имен: список авторов (связь)
  7. ^ Кастильо, Карлос (2004). Эффективное сканирование в Интернете (Кандидатская диссертация). Университет Чили. Получено 3 августа 2010.
  8. ^ А. Чайки; А. Синьори (2005). «Индексируемая сеть составляет более 11,5 миллиардов страниц». Интересные треки и постеры 14-й международной конференции во всемирной паутине. ACM Press. С. 902–903. Дои:10.1145/1062745.1062789.
  9. ^ Стив Лоуренс; К. Ли Джайлз (8 июля 1999 г.). «Доступность информации в сети». Природа. 400 (6740): 107–9. Bibcode:1999Натура 400..107л. Дои:10.1038/21987. PMID  10428673. S2CID  4347646.
  10. ^ Чо, Дж .; Garcia-Molina, H .; Пейдж Л. (апрель 1998 г.). «Эффективное сканирование с помощью упорядочивания URL». Седьмая Международная конференция World Wide Web. Брисбен, Австралия. Дои: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. Дои: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. Дои:10.1002 / spe.587. Получено 23 марта 2009.
  15. ^ Паоло Болди; Массимо Сантини; Себастьяно Винья (2004). «Делайте все возможное, чтобы добиться наилучшего: парадоксальные эффекты в дополнительных вычислениях PageRank» (PDF). Алгоритмы и модели для веб-графа. Конспект лекций по информатике. 3243. С. 168–180. Дои:10.1007/978-3-540-30216-2_14. ISBN  978-3-540-23427-2. Получено 23 марта 2009.
  16. ^ Баеза-Йейтс, Р., Кастильо, К., Марин, М. и Родригес, А. (2005). Сканирование страны: лучшие стратегии, чем поиск в ширину для заказа веб-страниц. В треке «Слушания о производственном и практическом опыте» 14-й конференции по всемирной паутине, страницы 864–872, Чиба, Япония. ACM Press.
  17. ^ Шервин Данешпаджух, Моджтаба Мохаммади Насири, Мохаммад Годси, Быстрый алгоритм генерации набора семян краулера, основанный на сообществе, В продолжение 4-й Международной конференции по информационным веб-системам и технологиям (Вебист -2008), Фуншал, Португалия, май 2008 г.
  18. ^ Пант, Гаутам; Шринивасан, Падмини; Менцер, Филиппо (2004). "Сканирование Интернета" (PDF). В Левене, Марк; Poulovassilis, Александра (ред.). Web Dynamics: адаптация к изменениям в содержании, размере, топологии и использовании. Springer. С. 153–178. ISBN  978-3-540-40676-1.
  19. ^ Коти, Вив (2004). «Надежность веб-сканирования» (PDF). Журнал Американского общества информационных наук и технологий. 55 (14): 1228–1238. CiteSeerX  10.1.1.117.185. Дои:10.1002 / asi.20078.
  20. ^ Менцер, Ф. (1997). ARACHNID: агенты адаптивного поиска, выбирающие эвристические окрестности для обнаружения информации. В Д. Фишере, изд., Машинное обучение: материалы 14-й Международной конференции (ICML97). Морган Кауфманн
  21. ^ Менцер Ф. и Белью Р.К. (1998). Адаптивные информационные агенты в распределенных текстовых средах. В К. Сикара и М. Вулдридж (ред.) Proc. 2nd Intl. Конф. об автономных агентах (Agents '98). ACM Press
  22. ^ Чакрабарти, Сумен; Ван ден Берг, Мартин; Дом, Байрон (1999). «Целенаправленное сканирование: новый подход к обнаружению тематических веб-ресурсов» (PDF). Компьютерная сеть. 31 (11–16): 1623–1640. Дои:10.1016 / с 1389-1286 (99) 00052-3. Архивировано из оригинал (PDF) 17 марта 2004 г.
  23. ^ Пинкертон, Б. (1994). Поиск того, что хотят люди: опыт работы с WebCrawler. В материалах Первой конференции в Интернете, Женева, Швейцария.
  24. ^ Дилигенти М., Кутзи Ф., Лоуренс С., Джайлз К. Л. и Гори М. (2000). Целенаправленное сканирование с использованием контекстных графов. В материалах 26-й Международной конференции по очень большим базам данных (VLDB), страницы 527-534, Каир, Египет.
  25. ^ Ву, Цзянь; Тереговда, Прадип; Хабса, Мадиан; Карман, Стивен; Джордан, Дуглас; Сан-Педро Ванделмер, Хосе; Лу, Синь; Митра, Прасенджит; Джайлз, К. Ли (2012). «Промежуточное программное обеспечение веб-краулера для электронных библиотек поисковых систем». Материалы двенадцатого международного семинара по веб-информации и управлению данными - WIDM '12. п. 57. Дои:10.1145/2389936.2389949. ISBN  9781450317207. S2CID  18513666.
  26. ^ Ву, Цзянь; Тереговда, Прадип; Рамирес, Хуан Пабло Фернандес; Митра, Прасенджит; Чжэн, Шуйи; Джайлз, К. Ли (2012). «Эволюция стратегии сканирования для поисковой системы академических документов». Материалы 3-й ежегодной конференции ACM Web Science в сети Интернет Наука '12. С. 340–343. Дои:10.1145/2380718.2380762. ISBN  9781450312288. S2CID  16718130.
  27. ^ Донг, Хай; Хуссейн, Фарух Хадир; Чанг, Элизабет (2009). "Современное состояние семантически ориентированных поисковых роботов". Вычислительная наука и ее приложения - ICCSA 2009. Конспект лекций по информатике. 5593. С. 910–924. Дои:10.1007/978-3-642-02457-3_74. HDL:20.500.11937/48288. ISBN  978-3-642-02456-6.
  28. ^ Донг, Хай; Хуссейн, Фарух Хадир (2013). "SOF: полууправляемый ориентированный на изучение онтологий поисковый робот". Параллелизм и вычисления: практика и опыт. 25 (12): 1755–1770. Дои:10.1002 / cpe.2980. S2CID  205690364.
  29. ^ Чонху Чо; Эктор Гарсиа-Молина (2000). «Синхронизация базы данных для повышения свежести» (PDF). Материалы международной конференции ACM SIGMOD 2000 г. по управлению данными. Даллас, Техас, США: ACM. С. 117–128. Дои:10.1145/342009.335391. ISBN  1-58113-217-4. Получено 23 марта 2009.
  30. ^ а б Э. Г. Коффман младший; Чжэнь Лю; Ричард Р. Вебер (1998). «Оптимальное планирование роботов для поисковых систем». Журнал планирования. 1 (1): 15–29. CiteSeerX  10.1.1.36.6087. Дои:10.1002 / (SICI) 1099-1425 (199806) 1: 1 <15 :: AID-JOS3> 3.0.CO; 2-K.
  31. ^ а б Чо, Джунху; Гарсия-Молина, Гектор (2003). «Эффективные политики обновления страниц для поисковых роботов». Транзакции ACM в системах баз данных. 28 (4): 390–426. Дои:10.1145/958942.958945. S2CID  147958.
  32. ^ а б Чонху Чо; Эктор Гарсиа-Молина (2003). «Оценка частоты изменения». ACM-транзакции по интернет-технологиям. 3 (3): 256–290. CiteSeerX  10.1.1.59.5877. Дои:10.1145/857166.857170. S2CID  9362566.
  33. ^ Ипейротис, П., Нтулас, А., Чо, Дж., Гравано, Л. (2005) Моделирование и управление изменениями контента в текстовых базах данных. В материалах 21-й Международной конференции IEEE по инженерии данных, страницы 606-617, апрель 2005 г., Токио.
  34. ^ Костер, М. (1995). Роботы в сети: угроза или лечение? Соединения, 9 (4).
  35. ^ Костер, М. (1996). Стандарт исключения роботов.
  36. ^ Костер, М. (1993). Рекомендации для роботов-писателей.
  37. ^ Баеза-Йейтс, Р. и Кастильо, К. (2002). Уравновешивание объема, качества и актуальности сканирования веб-страниц. В мягких вычислительных системах - проектирование, управление и приложения, страницы 565–572, Сантьяго, Чили. IOS Press, Амстердам.
  38. ^ Хейдон, Аллан; Наджорк, Марк (26 июня 1999 г.). "Mercator: масштабируемый расширяемый веб-сканер" (PDF). Архивировано из оригинал (PDF) 19 февраля 2006 г.. Получено 22 марта 2009. Цитировать журнал требует | журнал = (помощь)
  39. ^ Dill, S .; Kumar, R .; Mccurley, K. S .; Rajagopalan, S .; Sivakumar, D .; Томкинс, А. (2002). «Самоподобие в сети» (PDF). ACM-транзакции по интернет-технологиям. 2 (3): 205–223. Дои:10.1145/572326.572328. S2CID  6416041.
  40. ^ М. Телвалл; Д. Стюарт (2006). «Новый взгляд на этику сканирования Интернета: стоимость, конфиденциальность и отказ в обслуживании». Журнал Американского общества информационных наук и технологий. 57 (13): 1771–1779. Дои:10.1002 / asi.20388.
  41. ^ Брин, Сергей; Пейдж, Лоуренс (1998). «Анатомия крупномасштабной гипертекстовой поисковой системы в Интернете». Компьютерные сети и системы ISDN. 30 (1–7): 107–117. Дои:10.1016 / с0169-7552 (98) 00110-х.
  42. ^ Шкапенюк, В. и Суэль, Т. (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. Цитировать журнал требует | журнал = (помощь)
  45. ^ Шестаков, Денис; Bhowmick, Sourav S .; Лим, И-Пэн (2005). "DEQUE: запрос в глубокую паутину" (PDF). Инженерия данных и знаний. 52 (3): 273–311. Дои:10.1016 / s0169-023x (04) 00107-7.
  46. ^ "Сканирование AJAX: руководство для веб-мастеров и разработчиков". Получено 17 марта 2013.
  47. ^ Сунь, Ян (25 августа 2008 г.). "КОМПЛЕКСНОЕ ИЗУЧЕНИЕ РЕГУЛИРОВАНИЯ И ПОВЕДЕНИЯ ВЕБ-ПОИСКОВ. Сканеры или веб-пауки - это программные роботы, которые обрабатывают файлы трассировки и просматривают сотни миллиардов страниц, найденных в Интернете. Обычно это определяется путем отслеживания ключевых слов, по которым выполняется поиск пользователей поисковых систем - фактор, который меняется секунда за секундой: согласно Moz, только 30% запросов, выполняемых в поисковых системах, таких как Google, Bing или Yahoo !, соответствуют общим словам и фразам. Остальные 70% обычно случайны ». Получено 11 августа 2014. Цитировать журнал требует | журнал = (помощь)
  48. ^ ITA Labs «Приобретение ITA Labs» 20 апреля 2011 1:28
  49. ^ Crunchbase.com Март 2014 г. "Базовый профиль Crunch для import.io"
  50. ^ Нортон, Куинн (25 января 2007 г.). "Налоги присылают пауков". Бизнес. Проводной. В архиве из оригинала 22 декабря 2016 г.. Получено 13 октября 2017.
  51. ^ «Инициатива Xenon Web Crawling: сводка оценки воздействия на конфиденциальность». Оттава: Правительство Канады. 11 апреля 2017. В архиве из оригинала 25 сентября 2017 г.. Получено 13 октября 2017.

дальнейшее чтение