Веб-сканер
Веб -сканер , иногда называемый пауком или роботом-пауком и часто сокращаемый до сканера , представляет собой интернет-бот , который систематически просматривает Всемирную паутину и который обычно используется поисковыми системами с целью веб-индексации ( веб-паука ). [1]
Поисковые системы и некоторые другие веб-сайты используют программное обеспечение для сканирования или сканирования веб-страниц для обновления своего веб-контента или индексов веб-контента других сайтов. Веб-сканеры копируют страницы для обработки поисковой системой, которая индексирует загруженные страницы, чтобы пользователи могли осуществлять поиск более эффективно.
Краулеры потребляют ресурсы посещаемых систем и часто посещают сайты без подсказки. Проблемы расписания, загрузки и «вежливости» вступают в игру при доступе к большим коллекциям страниц. Для общедоступных сайтов, не желающих сканироваться, существуют механизмы, позволяющие сообщить об этом сканирующему агенту. Например, включая robots.txt
file может запрашивать у ботов индексацию только частей веб-сайта или вообще ничего.
Количество Интернет-страниц чрезвычайно велико; даже самые крупные сканеры не могут составить полный индекс. По этой причине поисковые системы изо всех сил пытались предоставить релевантные результаты поиска в первые годы существования Всемирной паутины, до 2000 года. Сегодня релевантные результаты выдаются практически мгновенно.
Сканеры могут проверять гиперссылки и HTML- код. Их также можно использовать для очистки веб-страниц и программирования на основе данных .
Номенклатура
[ редактировать ]Веб-сканер также известен как паук . [2] муравей , , индексатор автоматический [3] или (в контексте программного обеспечения FOAF ) веб-скатер . [4]
Обзор
[ редактировать ]Поисковый робот начинается со списка URL-адресов, которые необходимо посетить. Эти первые URL-адреса называются семенами . Когда сканер посещает эти URL-адреса, общаясь с веб-серверами , которые отвечают на эти URL-адреса, он идентифицирует все гиперссылки на полученных веб-страницах и добавляет их в список URL-адресов для посещения, называемый границей сканирования . URL-адреса из границы рекурсивно посещаются в соответствии с набором политик. Если сканер выполняет архивирование веб-сайтов (или веб-архивирование ), он копирует и сохраняет информацию по мере ее поступления. Архивы обычно хранятся таким образом, что их можно просматривать, читать и перемещаться по ним, как если бы они находились в сети, но сохраняются в виде «снимков». [5]
Архив известен как репозиторий и предназначен для хранения и управления коллекцией веб-страниц . В репозитории хранятся только HTML- страницы, и эти страницы хранятся как отдельные файлы. Репозиторий похож на любую другую систему хранения данных, например на современную базу данных. Единственное отличие состоит в том, что репозиторию не нужны все функциональные возможности, предлагаемые системой баз данных. В репозитории хранится самая последняя версия веб-страницы, полученная сканером. [ нужна ссылка ]
Большой объем означает, что сканер может загрузить только ограниченное количество веб-страниц в течение определенного времени, поэтому ему необходимо определить приоритетность загрузок. Высокая скорость изменений может означать, что страницы уже были обновлены или даже удалены.
Количество возможных сканируемых URL-адресов, генерируемых серверным программным обеспечением, также мешает веб-сканерам избегать получения дублированного контента . Существуют бесконечные комбинации параметров HTTP GET (на основе URL-адресов), из которых лишь небольшая часть фактически возвращает уникальный контент. Например, простая онлайн-галерея фотографий может предлагать пользователям три варианта, как указано в параметрах HTTP GET в URL-адресе. Если существует четыре способа сортировки изображений, три варианта размера миниатюр , два формата файлов и возможность отключения пользовательского контента, то к одному и тому же набору контента можно получить доступ с помощью 48 различных URL-адресов, каждый из которых может быть связан с сайт. Эта математическая комбинация создает проблему для сканеров, поскольку им приходится перебирать бесконечные комбинации относительно незначительных изменений сценария, чтобы получить уникальный контент.
Как Эдвардс и др. отметил: «Учитывая, что полоса пропускания для сканирования не является ни бесконечной, ни бесплатной, становится необходимым сканировать Интернет не только масштабируемым, но и эффективным способом, если необходимо поддерживать некоторую разумную меру качества или актуальности». [6] На каждом этапе сканер должен тщательно выбирать, какие страницы посетить в следующий раз.
Политика сканирования
[ редактировать ]Поведение веб-сканера является результатом сочетания политик: [7]
- политика выбора , в которой указаны страницы для загрузки,
- политика повторного посещения , в которой указано, когда проверять изменения на страницах,
- политика вежливости , определяющая, как избежать перегрузки веб-сайтов .
- политика распараллеливания , определяющая, как координировать распределенные веб-сканеры.
Политика отбора
[ редактировать ]Учитывая нынешний размер Интернета, даже крупные поисковые системы покрывают лишь часть общедоступной части. Исследование 2009 года показало, что даже крупные поисковые системы индексируют не более 40–70% индексируемой сети; [8] предыдущее исследование Стива Лоуренса и Ли Джайлза показало, что в 1999 году ни одна поисковая система не проиндексировала более 16% Интернета. [9] Поскольку сканер всегда загружает только часть веб-страниц , крайне желательно, чтобы загружаемая часть содержала наиболее релевантные страницы, а не просто случайную выборку веб-страниц.
Для этого требуется метрика важности для определения приоритетов веб-страниц. Важность страницы зависит от ее внутреннего качества, ее популярности с точки зрения ссылок или посещений и даже ее URL-адреса (последнее относится к вертикальным поисковым системам, ограниченным одним одним доменом верхнего уровня доменом верхнего уровня , или к поисковым системам, ограниченным ). на фиксированный веб-сайт). Разработка хорошей политики выбора имеет дополнительную трудность: она должна работать с частичной информацией, поскольку полный набор веб-страниц неизвестен во время сканирования.
Чонху Чо и др. провел первое исследование политики планирования сканирования. Их набор данных представлял собой сканирование объемом 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]
Баеза-Йейтс и др. использовал моделирование на двух подмножествах Интернета из 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/ и /. Коти обнаружил, что сканер, восходящий по пути, очень эффективен при поиске изолированных ресурсов или ресурсов, на которые при обычном сканировании не было бы обнаружено входящей ссылки.
Сосредоточенное сканирование
[ редактировать ]Важность страницы для сканера также может быть выражена как функция сходства страницы с данным запросом. Веб-сканеры, которые пытаются загрузить страницы, похожие друг на друга, называются целевыми сканерами или тематическими сканерами . Концепции актуального и целенаправленного ползания были впервые предложены Филиппо Менцером. [20] [21] и Сумен Чакрабарти и др. [22]
Основная проблема при целенаправленном сканировании заключается в том, что в контексте веб-сканера мы хотели бы иметь возможность предсказать сходство текста данной страницы с запросом до фактической загрузки страницы. Возможным предиктором является якорный текст ссылок; именно такой подход использовал Пинкертон [23] в первом веб-сканере на заре Интернета. Дилигенти и др. [24] предложите использовать полное содержимое уже посещенных страниц, чтобы сделать вывод о сходстве между движущим запросом и страницами, которые еще не были посещены. Производительность целенаправленного сканирования зависит главным образом от количества ссылок по конкретной искомой теме, а целенаправленное сканирование обычно опирается на общую поисковую систему в Интернете для предоставления отправных точек.
Поисковый робот, ориентированный на академические цели
[ редактировать ]Примером специализированных сканеров являются академические сканеры, которые сканируют научные документы, находящиеся в свободном доступе, например citeseerxbot , который является сканером CiteSeer. Х поисковая система. Другими академическими поисковыми системами являются 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] в то время как Ипейротис и др. покажите, как использовать статистические инструменты для обнаружения параметров, влияющих на это распределение. [33] Рассмотренные здесь политики повторного посещения рассматривают все страницы как однородные с точки зрения качества («все страницы в Интернете имеют одинаковую ценность»), что не является реалистичным сценарием, поэтому дополнительная информация о качестве веб-страниц должна быть включена в добиться более эффективной политики сканирования.
Политика вежливости
[ редактировать ]Сканеры могут получать данные гораздо быстрее и глубже, чем люди, ищущие информацию, поэтому они могут оказать пагубное влияние на производительность сайта. Если один сканер выполняет несколько запросов в секунду и/или загружает большие файлы, серверу может быть сложно обрабатывать запросы от нескольких сканеров.
Как отметил Костер, использование веб-сканеров полезно для решения ряда задач, но для общества в целом приходится платить. [34] Затраты на использование веб-сканеров включают:
- сетевые ресурсы, поскольку сканеры требуют значительной пропускной способности и работают с высокой степенью параллелизма в течение длительного периода времени;
- перегрузка сервера, особенно если частота обращений к данному серверу слишком высока;
- плохо написанные сканеры, которые могут привести к сбою серверов или маршрутизаторов или страницы загрузки которых они не могут обработать; и
- персональные сканеры, которые, если их задействует слишком много пользователей, могут нарушить работу сетей и веб-серверов.
Частичным решением этих проблем является протокол исключения роботов , также известный как протокол robots.txt, который является стандартом, позволяющим администраторам указывать, какие части их веб-серверов не должны быть доступны сканерам. [35] Этот стандарт не содержит рекомендаций по интервалу посещения одного и того же сервера, хотя этот интервал является наиболее эффективным способом избежать перегрузки сервера. В последнее время коммерческие поисковые системы, такие как Google , Ask Jeeves , MSN и Yahoo! Поиск может использовать дополнительный параметр «Crawl-delay:» в файле robots.txt , чтобы указать количество секунд задержки между запросами.
Первый предложенный интервал между последовательными загрузками страниц составлял 60 секунд. [36] Однако, если бы страницы загружались с такой скоростью с веб-сайта с более чем 100 000 страниц по идеальному соединению с нулевой задержкой и бесконечной пропускной способностью, загрузка только этого веб-сайта целиком заняла бы более 2 месяцев; кроме того, будет использоваться только часть ресурсов этого веб-сервера.
Чо использует 10 секунд в качестве интервала для доступа, [31] а сканер WIRE использует 15 секунд по умолчанию. [37] Сканер MercatorWeb придерживается политики адаптивной вежливости: если заняла t загрузка документа с данного сервера секунд, сканер ждет 10 t секунд перед загрузкой следующей страницы. [38] Дилл и др. используйте 1 секунду. [39]
Тем, кто использует веб-сканеры в исследовательских целях, необходим более детальный анализ затрат и выгод, а также следует учитывать этические соображения при принятии решения о том, где и как быстро сканировать информацию. [40]
Неофициальные данные журналов доступа показывают, что интервалы доступа известных сканеров варьируются от 20 секунд до 3–4 минут. Стоит отметить, что даже если быть очень вежливым и принимать все меры предосторожности, чтобы избежать перегрузки веб-серверов, от администраторов веб-серверов поступают некоторые жалобы. Сергей Брин и Ларри Пейдж отметили в 1998 году: «... запуск сканера, который подключается к более чем полумиллиону серверов... генерирует изрядное количество электронной почты и телефонных звонков. Из-за огромного количества людей, подключающихся к сети, , всегда находятся те, кто не знает, что такое краулер, потому что это первый, кого они видят." [41]
Политика распараллеливания
[ редактировать ]сканер Параллельный — это сканер, который запускает несколько процессов параллельно. Цель состоит в том, чтобы максимизировать скорость загрузки, минимизируя при этом накладные расходы, связанные с распараллеливанием, и избежать повторных загрузок одной и той же страницы. Чтобы избежать повторной загрузки одной и той же страницы, системе сканирования требуется политика назначения новых URL-адресов, обнаруженных в процессе сканирования, поскольку один и тот же URL-адрес может быть найден двумя разными процессами сканирования.
Архитектуры
[ редактировать ]Как отмечалось в предыдущих разделах, сканер должен иметь не только хорошую стратегию сканирования, но и высокооптимизированную архитектуру.
Шкапенюк и Суэль отметили, что: [42]
Хотя создать медленный сканер, который загружает несколько страниц в секунду в течение короткого периода времени, довольно легко, построение высокопроизводительной системы, которая может загружать сотни миллионов страниц в течение нескольких недель, представляет собой ряд проблем при проектировании системы. Эффективность ввода-вывода и сети, а также надежность и управляемость.
Веб-сканеры являются центральной частью поисковых систем, и подробности их алгоритмов и архитектуры хранятся в качестве коммерческой тайны. Когда проекты сканеров публикуются, часто наблюдается недостаток деталей, который не позволяет другим воспроизвести работу. Также возникают опасения по поводу « спама в поисковых системах », который не позволяет крупным поисковым системам публиковать свои алгоритмы ранжирования.
Безопасность
[ редактировать ]Хотя большинство владельцев веб-сайтов стремятся к тому, чтобы их страницы были проиндексированы как можно шире, чтобы иметь сильное присутствие в поисковых системах , сканирование веб-сайтов также может иметь непредвиденные последствия и привести к компрометации или утечке данных , если поисковая система индексирует ресурсы, которые не должны быть общедоступные или страницы, раскрывающие потенциально уязвимые версии программного обеспечения.
Помимо стандартных рекомендаций по безопасности веб-приложений, владельцы веб-сайтов могут снизить риск хакерских атак, разрешив поисковым системам индексировать только общедоступные части своих веб-сайтов (с помощью robots.txt ) и явно заблокировав индексацию транзакционных частей (страницы входа, частные страницы, и т. д.).
Идентификация краулера
[ редактировать ]Веб-сканеры обычно идентифицируют себя на веб-сервере, используя User-agent поле HTTP- запроса. Администраторы веб-сайтов обычно просматривают журналы своих веб-серверов и используют поле пользовательского агента, чтобы определить, какие сканеры посещали веб-сервер и как часто. Поле пользовательского агента может включать URL-адрес , по которому администратор веб-сайта может получить дополнительную информацию о сканере. Изучение журнала веб-сервера — утомительная задача, поэтому некоторые администраторы используют инструменты для идентификации, отслеживания и проверки веб-сканеров. Спамботы и другие вредоносные веб-сканеры вряд ли будут размещать идентифицирующую информацию в поле пользовательского агента или могут замаскировать свою идентичность под браузером или другим известным сканером.
Администраторы веб-сайтов предпочитают, чтобы веб-сканеры идентифицировали себя, чтобы при необходимости они могли связаться с владельцем. В некоторых случаях сканеры могут случайно попасть в ловушку сканера или перегрузить веб-сервер запросами, и владельцу необходимо остановить сканер. Идентификация также полезна для администраторов, которые хотят знать, когда можно ожидать, что их веб-страницы будут проиндексированы определенной поисковой системой .
Ползание в глубокой сети
[ редактировать ]Огромное количество веб-страниц находится в глубокой или невидимой сети . [43] Эти страницы обычно доступны только путем отправки запросов в базу данных, и обычные сканеры не могут найти эти страницы, если на них нет ссылок. Протокол Google Sitemaps и мод oai [44] предназначены для обеспечения обнаружения этих ресурсов глубокой сети .
Глубокое сканирование сети также увеличивает количество сканируемых веб-ссылок. Некоторые сканеры принимают только некоторые URL-адреса <a href="URL">
форма. В некоторых случаях, например в случае с роботом Googlebot , веб-сканирование выполняется по всему тексту, содержащемуся внутри гипертекстового содержимого, тегов или текста.
Стратегические подходы могут быть предприняты для нацеливания на глубокий веб-контент. С помощью метода, называемого очисткой экрана , специализированное программное обеспечение можно настроить для автоматического и многократного запроса заданной веб-формы с целью агрегирования полученных данных. Такое программное обеспечение можно использовать для охвата нескольких веб-форм на нескольких веб-сайтах. Данные, извлеченные из результатов отправки одной веб-формы, могут быть взяты и применены в качестве входных данных в другую веб-форму, обеспечивая таким образом непрерывность всей Глубокой паутины, что невозможно при использовании традиционных веб-сканеров. [45]
Страницы, созданные на основе AJAX, относятся к числу тех, которые создают проблемы для веб-сканеров. Google предложил формат вызовов AJAX, который их бот может распознавать и индексировать. [46]
Визуальные и программные сканеры
[ редактировать ]В сети доступен ряд продуктов «визуального веб-скрапера/сканера», которые будут сканировать страницы и структурировать данные в столбцы и строки в зависимости от требований пользователей. Одним из основных различий между классическим и визуальным сканером является уровень навыков программирования, необходимый для настройки сканера. Последнее поколение «визуальных парсеров» устраняет большую часть навыков программирования, необходимых для программирования и запуска сканирования для сбора веб-данных.
Метод визуального очистки/сканирования основан на «обучении» пользователем части технологии сканирования, которая затем следует шаблонам в полуструктурированных источниках данных. Преобладающий метод обучения визуального сканера — выделение данных в браузере и обучение столбцов и строк. Хотя технология не нова, например, она легла в основу компании Needlebase, купленной Google (в рамках более крупного приобретения ITA Labs). [47] ), наблюдается постоянный рост и инвестиции в эту область со стороны инвесторов и конечных пользователей. [ нужна ссылка ]
Список веб-сканеров
[ редактировать ]Ниже приводится список опубликованных архитектур сканеров общего назначения (за исключением специализированных веб-сканеров) с кратким описанием, включающим названия различных компонентов и выдающихся функций:
Исторические веб-сканеры
[ редактировать ]- World Wide Web Worm — это сканер, используемый для создания простого индекса названий документов и URL-адресов. Для поиска по индексу можно использовать grep Юникс- команда.
- Yahoo! Slurp — это название Yahoo! Поисковый робот до тех пор, пока Yahoo! заключила с Microsoft контракт на использование вместо этого Bingbot .
Собственные веб-сканеры
[ редактировать ]- Applebot — это веб-сканер Apple . Он поддерживает Siri и другие продукты. [48]
- Bingbot — это название веб-сканера Microsoft Bing . Он заменил MSnbot .
- Baiduspider — это веб-сканер Baidu .
- DuckDuckBot — это веб-сканер DuckDuckGo .
- Робот Google описан достаточно подробно, но ссылка касается только ранней версии его архитектуры, написанной на C++ и Python . Сканер был интегрирован с процессом индексирования, поскольку анализ текста выполнялся для полнотекстового индексирования, а также для извлечения URL-адресов. Существует URL-сервер, который отправляет списки URL-адресов, которые должны быть получены несколькими процессами сканирования. Во время анализа найденные URL-адреса передавались на URL-сервер, который проверял, просматривался ли URL-адрес ранее. Если нет, URL-адрес был добавлен в очередь URL-сервера.
- WebCrawler использовался для создания первого общедоступного полнотекстового индекса подмножества Интернета. Он был основан на lib-WWW для загрузки страниц и другой программе для анализа и упорядочивания URL-адресов для более широкого исследования веб-графа. Он также включал в себя сканер в режиме реального времени, который переходил по ссылкам на основе сходства текста привязки с предоставленным запросом.
- WebFountain — это распределенный модульный сканер, похожий на Mercator, но написанный на C++.
- Xenon — это веб-сканер, используемый государственными налоговыми органами для выявления случаев мошенничества. [49] [50]
Коммерческие веб-сканеры
[ редактировать ]За дополнительную плату доступны следующие веб-сканеры:
- Diffbot — программный поисковый робот общего назначения, доступный как API.
- SortSite — сканер для анализа веб-сайтов, доступен для Windows и Mac OS
- Swiftbot — веб-сканер Swiftype , доступный как программное обеспечение как услуга.
Сканеры с открытым исходным кодом
[ редактировать ]- Apache Nutch — это расширяемый и масштабируемый веб-сканер, написанный на Java и выпущенный по лицензии Apache . Он основан на Apache Hadoop и может использоваться с Apache Solr или Elasticsearch .
- GRUB был распределенным поисковым сканером с открытым исходным кодом, который Wikia Search использовал для сканирования Интернета.
- Heritrix — это сканер архивного качества Интернет-архива , предназначенный для архивирования периодических снимков значительной части Интернета. Он был написан на Java .
- ht://Dig включает в свой механизм индексирования веб-сканер.
- HTTrack использует веб-сканер для создания зеркала веб-сайта для просмотра в автономном режиме. Он написан на языке C и выпущен под лицензией GPL.
- Norconex Web Crawler — это веб-сканер с широкими возможностями расширения, написанный на Java и выпущенный под лицензией Apache . Его можно использовать со многими репозиториями, такими как Apache Solr , Elasticsearch , Microsoft Azure Cognitive Search , Amazon CloudSearch и другими.
- mnoGoSearch — это сканер, индексатор и поисковая система, написанная на C и лицензированная под лицензией GPL (только для компьютеров *NIX).
- Open Search Server — это версия программного обеспечения поисковой системы и веб-сканера под лицензией GPL.
- Scrapy — фреймворк веб-сканера с открытым исходным кодом, написанный на Python (под лицензией BSD ).
- Seeks — бесплатная распределенная поисковая система (под лицензией AGPL ).
- StormCrawler — набор ресурсов для создания масштабируемых веб-сканеров с малой задержкой на Apache Storm (лицензия Apache).
- tkWWW Robot — сканер на основе веб-браузера tkWWW (под лицензией GPL).
- GNU Wget — это программа-сканер, управляемая из командной строки , написанная на C и выпущенная под лицензией GPL . Обычно он используется для зеркалирования веб-сайтов и FTP-сайтов.
- Xapian — поисковая система, написанная на C++.
- YaCy — бесплатная распределенная поисковая система, построенная на принципах одноранговых сетей (под лицензией GPL).
См. также
[ редактировать ]- Автоматическое индексирование
- Гусеничный робот Gnutella
- Веб-архивирование
- Вебграф
- Программное обеспечение для зеркалирования веб-сайтов
- Парсинг поисковых систем
- Парсинг веб-страниц
Ссылки
[ редактировать ]- ^ «Веб-краулеры: просмотр веб-страниц» . Архивировано из оригинала 6 декабря 2021 года.
- ^ Спетка, Скотт. «Робот TkWWW: помимо просмотра» . НКСА . Архивировано из оригинала 3 сентября 2004 года . Проверено 21 ноября 2010 г.
- ^ Кобаяши М. и Такеда К. (2000). «Поиск информации в сети». Обзоры вычислительной техники ACM . 32 (2): 144–173. CiteSeerX 10.1.1.126.6094 . дои : 10.1145/358923.358934 . S2CID 3710903 .
- ↑ См . определение скаттера на вики-сайте проекта FOAF. Архивировано 13 декабря 2009 г. на Wayback Machine.
- ^ Масанес, Жюльен (15 февраля 2007 г.). Веб-архивирование . Спрингер. п. 1. ISBN 978-3-54046332-0 . Проверено 24 апреля 2014 г.
- ^ Эдвардс, Дж.; МакКерли, Канзас; и Томлин, Дж. А. (2001). «Адаптивная модель для оптимизации производительности дополнительного веб-сканера». Материалы 10-й международной конференции по Всемирной паутине . стр. 106–113. CiteSeerX 10.1.1.1018.1506 . дои : 10.1145/371920.371960 . ISBN 978-1581133486 . S2CID 10316730 . Архивировано из оригинала 25 июня 2014 года . Проверено 25 января 2007 г.
{{cite book}}
: CS1 maint: несколько имен: список авторов ( ссылка ) - ^ Кастильо, Карлос (2004). Эффективное веб-сканирование (кандидатская диссертация). Университет Чили . Проверено 3 августа 2010 г.
- ^ Чайки, А.; А. Синьори (2005). «Индексируемая сеть насчитывает более 11,5 миллиардов страниц». Особый интерес представляют треки и постеры 14-й международной конференции по Всемирной паутине . АКМ Пресс. стр. 902–903. дои : 10.1145/1062745.1062789 .
- ^ Лоуренс, Стив; К. Ли Джайлз (8 июля 1999 г.). «Доступность информации в сети» . Природа . 400 (6740): 107–9. Бибкод : 1999Natur.400..107L . дои : 10.1038/21987 . ПМИД 10428673 . S2CID 4347646 .
- ^ Чо, Дж.; Гарсиа-Молина, Х.; Пейдж, Л. (апрель 1998 г.). «Эффективное сканирование посредством упорядочения URL-адресов» . Седьмая международная конференция по всемирной паутине . Брисбен, Австралия. дои : 10.1142/3725 . ISBN 978-981-02-3400-3 . Проверено 23 марта 2009 г.
- ^ Чо, Чонху, «Сканирование Интернета: обнаружение и обслуживание крупномасштабных веб-данных» , докторская диссертация, факультет компьютерных наук, Стэнфордский университет, ноябрь 2001 г.
- ^ Найорк, Марк и Джанет Л. Винер. «Сканирование в ширину позволяет получить страницы высокого качества». Архивировано 24 декабря 2017 г. в Wayback Machine в: Материалы десятой конференции по Всемирной паутине , страницы 114–118, Гонконг, май 2001 г. Elsevier Science.
- ^ Абитбул, Серж; Михай Преда; Грегори Кобена (2003). «Адаптивный онлайн-вычисление важности страницы» . Материалы 12-й международной конференции по Всемирной паутине . Будапешт, Венгрия: ACM. стр. 280–290. дои : 10.1145/775152.775192 . ISBN 1-58113-680-3 . Проверено 22 марта 2009 г.
- ^ Болди, Паоло; Бруно Кодотти; Массимо Сантини; Себастьяно Винья (2004). «UbiCrawler: масштабируемый полностью распределенный веб-сканер» (PDF) . Программное обеспечение: практика и опыт . 34 (8): 711–726. CiteSeerX 10.1.1.2.5538 . дои : 10.1002/сп.587 . S2CID 325714 . Архивировано из оригинала (PDF) 20 марта 2009 года . Проверено 23 марта 2009 г.
- ^ Болди, Паоло; Массимо Сантини; Себастьяно Винья (2004). «Делайте все возможное, чтобы получить лучшее: парадоксальные эффекты при дополнительных вычислениях PageRank» (PDF) . Алгоритмы и модели веб-графа . Конспекты лекций по информатике. Том. 3243. стр. 168–180. дои : 10.1007/978-3-540-30216-2_14 . ISBN 978-3-540-23427-2 . Архивировано из оригинала (PDF) 1 октября 2005 года . Проверено 23 марта 2009 г.
- ^ Баеза-Йейтс, Р.; Кастильо, К.; Марин М. и Родригес А. (2005). «Обход страны: лучшие стратегии, чем стратегия упорядочивания веб-страниц в ширину». В: Материалы Промышленного и практического опыта 14-й конференции по Всемирной паутине , страницы 864–872, Тиба, Япония. АКМ Пресс.
- ^ Шервин Данешпаджух, Моджтаба Мохаммади Насири, Мохаммад Годси, Быстрый алгоритм на основе сообщества для создания набора семян гусениц . В: Материалы 4-й Международной конференции по информационным веб-системам и технологиям ( Webist -2008), Фуншал, Португалия, май 2008 г.
- ^ Пант, Гаутам; Шринивасан, Падмини; Менцер, Филиппо (2004). «Сканирование Интернета» (PDF) . В Левене, Марк; Пуловассилис, Александра (ред.). Веб-динамика: адаптация к изменениям в содержании, размере, топологии и использовании . Спрингер. стр. 153–178. ISBN 978-3-540-40676-1 . Архивировано из оригинала (PDF) 20 марта 2009 года . Проверено 9 мая 2006 г.
- ^ Коти, Вив (2004). «Надежность веб-сканирования» (PDF) . Журнал Американского общества информатики и технологий . 55 (14): 1228–1238. CiteSeerX 10.1.1.117.185 . дои : 10.1002/asi.20078 .
- ^ Менцер, Ф. (1997). Паукообразные: адаптивные поисковые агенты, выбирающие эвристические окрестности для обнаружения информации. Архивировано 21 декабря 2012 года в Wayback Machine . Под ред. Д. Фишера «Машинное обучение: материалы 14-й Международной конференции (ICML97). Морган Кауфманн
- ^ Менцер, Ф. и Белью, РК (1998). Адаптивные информационные агенты в распределенных текстовых средах. Архивировано 21 декабря 2012 года в Wayback Machine . В К. Сикаре и М. Вулдридже (ред.) Proc. 2-й международный Конф. об автономных агентах (Агенты '98). АКМ Пресс
- ^ Чакрабарти, Сумен; Ван Ден Берг, Мартин; Дом, Байрон (1999). «Фокусное сканирование: новый подход к обнаружению веб-ресурсов по конкретным темам» (PDF) . Компьютерные сети . 31 (11–16): 1623–1640. дои : 10.1016/s1389-1286(99)00052-3 . Архивировано из оригинала (PDF) 17 марта 2004 г.
- ^ Пинкертон, Б. (1994). Находим то, что хотят люди: опыт работы с WebCrawler . В материалах первой конференции World Wide Web, Женева, Швейцария.
- ^ Дилигенти, М., Кутзи, Ф., Лоуренс, С., Джайлз, К.Л., и Гори, М. (2000). Целенаправленное сканирование с использованием контекстных графов . В материалах 26-й Международной конференции по очень большим базам данных (VLDB), страницы 527–534, Каир, Египет.
- ^ Ву, Цзянь; Терегоуда, Прадип; Хабса, Мадиан; Карман, Стивен; Джордан, Дуглас; Сан-Педро Вандельмер, Хосе; Лу, Синь; Митра, Прасенджит; Джайлз, К. Ли (2012). «Промежуточное программное обеспечение веб-сканера для цифровых библиотек поисковых систем». Материалы двенадцатого международного семинара по веб-информации и управлению данными - WIDM '12 . п. 57. дои : 10.1145/2389936.2389949 . ISBN 9781450317207 . S2CID 18513666 .
- ^ Ву, Цзянь; Терегоуда, Прадип; Рамирес, Хуан Пабло Фернандес; Митра, Прасенджит; Чжэн, Шуйи; Джайлз, К. Ли (2012). «Эволюция стратегии сканирования для поисковой системы академических документов». Материалы 3-й ежегодной веб-научной конференции ACM по Web Sci '12 . стр. 340–343. дои : 10.1145/2380718.2380762 . ISBN 9781450312288 . S2CID 16718130 .
- ^ Донг, Хай; Хуссейн, Фарух Хадир; Чанг, Элизабет (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 .
- ^ Донг, Хай; Хусейн, Фарух Хадир (2013). «SOF: полуконтролируемый сканер, основанный на обучении онтологии» . Параллелизм и вычисления: практика и опыт . 25 (12): 1755–1770. дои : 10.1002/cpe.2980 . S2CID 205690364 .
- ^ Чонху Чо; Гектор Гарсиа-Молина (2000). «Синхронизация базы данных для повышения актуальности» (PDF) . Материалы международной конференции ACM SIGMOD 2000 года по управлению данными . Даллас, Техас, США: ACM. стр. 117–128. дои : 10.1145/342009.335391 . ISBN 1-58113-217-4 . Проверено 23 марта 2009 г.
- ^ Jump up to: а б Э. Г. Коффман-младший; Чжэнь Лю; Ричард Р. Вебер (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 .
- ^ Jump up to: а б Чо, Чонху; Гарсия-Молина, Гектор (2003). «Эффективные политики обновления страниц для веб-сканеров». Транзакции ACM в системах баз данных . 28 (4): 390–426. дои : 10.1145/958942.958945 . S2CID 147958 .
- ^ Jump up to: а б Чонху Чо; Гектор Гарсиа-Молина (2003). «Оценка частоты изменений». Транзакции ACM по Интернет-технологиям . 3 (3): 256–290. CiteSeerX 10.1.1.59.5877 . дои : 10.1145/857166.857170 . S2CID 9362566 .
- ^ Ипейротис П., Нтулас А., Чо Дж., Гравано Л. (2005) Моделирование и управление изменениями контента в текстовых базах данных . Архивировано 5 сентября 2005 г. в Wayback Machine . В материалах 21-й Международной конференции IEEE по инженерии данных, страницы 606–617, апрель 2005 г., Токио.
- ^ Костер, М. (1995). Роботы в сети: угроза или лечение? Связи, 9(4).
- ^ Костер, М. (1996). Стандарт исключения роботов. Архивировано 7 ноября 2007 г. в Wayback Machine .
- ^ Костер, М. (1993). Рекомендации для авторов роботов. Архивировано 22 апреля 2005 г. в Wayback Machine .
- ^ Баеза-Йейтс, Р. и Кастильо, К. (2002). Баланс между объемом, качеством и актуальностью веб-сканирования . В «Мягких вычислительных системах – проектирование, управление и приложения», страницы 565–572, Сантьяго, Чили. IOS Press Амстердам.
- ^ Хейдон, Аллан; Найорк, Марк (26 июня 1999 г.). «Mercator: масштабируемый расширяемый веб-сканер» (PDF) . Архивировано из оригинала (PDF) 19 февраля 2006 года . Проверено 22 марта 2009 г.
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - ^ Дилл, С.; Кумар, Р.; Маккерли, Канзас; Раджагопалан, С.; Сивакумар, Д.; Томкинс, А. (2002). «Самоподобие в сети» (PDF) . Транзакции ACM по Интернет-технологиям . 2 (3): 205–223. дои : 10.1145/572326.572328 . S2CID 6416041 .
- ^ М. Телуолл; Д. Стюарт (2006). «Возврат к этике сканирования веб-страниц: стоимость, конфиденциальность и отказ в обслуживании» . Журнал Американского общества информатики и технологий . 57 (13): 1771–1779. дои : 10.1002/asi.20388 .
- ^ Брин, Сергей; Пейдж, Лоуренс (1998). «Анатомия крупномасштабной гипертекстовой поисковой системы в Интернете» . Компьютерные сети и системы ISDN . 30 (1–7): 107–117. дои : 10.1016/s0169-7552(98)00110-x . S2CID 7587743 .
- ^ Шкапенюк В. и Суэл Т. (2002). Проектирование и реализация высокопроизводительного распределенного веб-сканера . В материалах 18-й Международной конференции по инженерии данных (ICDE), страницы 357–368, Сан-Хосе, Калифорния. IEEE CS Пресс.
- ^ Шестаков, Денис (2008). Интерфейсы поиска в Интернете: запросы и характеристики. Архивировано 6 июля 2014 г. на Wayback Machine . Докторские диссертации TUCS 104, Университет Турку
- ^ Майкл Л. Нельсон; Герберт Ван де Сомпель; Сяомин Лю; Терри Л. Харрисон; Натан Макфарланд (24 марта 2005 г.). «mod_oai: модуль Apache для сбора метаданных»: cs/0503069. arXiv : cs/0503069 . Бибкод : 2005cs........3069N .
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - ^ Шестаков, Денис; Бхоумик, Сурав С.; Лим, И-Пэн (2005). «DEQUE: Запросы в глубокую сеть» (PDF) . Инженерия данных и знаний . 52 (3): 273–311. дои : 10.1016/s0169-023x(04)00107-7 .
- ^ «Сканирование AJAX: Руководство для веб-мастеров и разработчиков» . Проверено 17 марта 2013 г.
- ↑ ITA Labs «Приобретение ITA Labs». Архивировано 18 марта 2014 г. в Wayback Machine , 20 апреля 2011 г., 1:28.
- ^ «Об Эпплботе» . Apple Inc. Проверено 18 октября 2021 г.
- ^ Нортон, Куинн (25 января 2007 г.). «Налогоплательщики присылают пауков» . Бизнес. Проводной . Архивировано из оригинала 22 декабря 2016 года . Проверено 13 октября 2017 г.
- ^ «Инициатива по сканированию веб-страниц Xenon: резюме оценки воздействия на конфиденциальность (PIA)» . Оттава: Правительство Канады. 11 апреля 2017 года. Архивировано из оригинала 25 сентября 2017 года . Проверено 13 октября 2017 г.
Дальнейшее чтение
[ редактировать ]- Чо, Чонху, «Проект веб-сканирования» , факультет компьютерных наук Калифорнийского университета в Лос-Анджелесе.
- История поисковых систем от Wiley
- WIVET — это проект OWASP по сравнительному анализу , цель которого — определить, может ли веб-сканер идентифицировать все гиперссылки на целевом веб-сайте.
- Шестаков, Денис, «Актуальные проблемы веб-сканирования» и «Интеллектуальное веб-сканирование» , слайды к обучающим материалам, проведённым на ICWE'13 и WI-IAT'13.