11.01.2007 г.
На прошедших затяжных праздниках я заинтересовалась поиском
по глубокому вебу, начиталась статей всяких разных, спешу
поделиться.
Термин Глубокий веб (deep web, иногда употребляются invisible
web, hidden web) обычно относится к веб-страницам, которые по
тем или иным причинам не индейксируются поисковыми роботами.
Соответственно, если вы ищете что-либо своим любимым
поисковиком, вы не сможете с его помощью найти страницы,
которые этот поисковик не проиндексировал.
Это особенно печально, потому что очень распространено
ассоциирование любимого поисковика со всем вебом, да что там с
вебом - со всем Интернетом. Причем я вот не знаю откуда
берется такое заблуждение. Знаю людей, для которых Интернет и
Рамблер это вообще одно и то же. Рамблер ничего путного по
запросу выдать не смог, значит в Интернете этого нет.
Почему страница может быть не проиндексирована? Чтобы это
выяснить, надо понять как работают поисковые роботы.
Стандартное очень упрощенное описание поискового паука: берет
страницу, индексирует, ползет по ссылкам с нее, индексирует
их, ползет по ссылкам с этих страниц и так далее. Слабость
такого паука например в том, что он никогда не найдет
страницу, на которую нет ссылки (то есть имеет место
зависимость от связности веб-страниц). Такой простой паук
найдет только статические страницы. Но обойдет стороной
страницы, создаваемые только по запросу пользователя. В
качестве примера сайтов с такими страницами в Рунете мне
пришли в голову только банки данных вакансий и резюме. В
англоязычных источниках упоминаются всякие разные базы данных:
базы данных патенов, базы данных научных статей и т.п. Также
не будет проиндексирован контент, закрытый паролем, страницы,
на которые нет ссылок. Обычно не индексируются страницы,
запрещенные к индексированию файлом robots.txt. Некоторое
время останутся непроиндексированными новые страницы. Могут
остаться непроиндексированными файлы в нетекстовом формате
(.pdf, .doc), сайты на флэше.
Первые статьи по глубокому вебу, которые я нашла относятся к
1999 - 2001 годам. Статья, которую больше всего рекомендуют: The
Deep Web: Surfacing Hidden Value.
Красивая картинка оттуда:

Статья была написана в 2001 году и примечательна тем, что там
приводятся оценки размера и качества глубокого веба. И эти
оценки цитируются до сих пор. Оценки получены методами
близкими к гаданию на кофейной гуще, имхо. Вообще довольно
сложно посчитать то, чего не видно. Плюс ситуация меняется
чуть ли не каждый день.
Но ничего другого все равно нет, так что вот они. Глубокий веб
по объемам превышает обычный в 400-500 раз. Поисковые роботы
индексируют примерно 16 процентов от всего веб-контента.
Глубокий веб более качественный (в среднем в три раза
качественнее обычного). И еще глубокий веб растет быстрее
всего.
С тех далеких времен ситуация изменилась. Глубокий веб
пытаются индексировать по мере сил и возможностей. Наиболее
показательны здесь старания Google - индексирование pdf, doc,
содержимого библиотек, чего угодно. Они сравнительно недавно
запатентовали способ поиска в глубоком вебе: Searching
through content which is accessible through web-based forms.
В целом борьба за доступность информации в глубоком вебе
ведется с трех сторон.
1. Со стороны пользователей. Пользователям советуют искать
тщательнее.
Здесь народ пытается найти способы добраться как-нибудь до
глубокого веба. Например, попробовать использовать запрос
вместе со словом database. В статье How
to Search the Invisible Web приводится пример:
пользователь пытается найти статистику по катастрофам с
самолетами в Аргентине. Если задать запрос в Yahoo вроде
"plane crash Argentina", то в ответ вы получите кучу газетных
заголовков. А если запросить "aviation database", то найдете NTSB Aviation
Accident Database, например. Как раз то, что нужно.
Еще советуют использовать несколько более узкоспециальный
поиск: Google Book Search,
Google
Scholar, Google
Code Search
2. Со стороны владельцев страниц. Владельцам страниц дают
советы как обеспечить доступ поисковых роботов к содержимому
страницы.
Вот есть у меня динамически формируемый из базы данных
контент, который не индексируется поисковыми машинами. Что
делать?
Если база данных небольшая, то вывалить все содержимое на одну
статичную страницу. Снабдив ссылкой с интерфейсом к базе
данных конечно же. Если информации слишком много, то поместить
на отдельную страницу хотя бы какую-то избранную.
pdf - файлы, презентации и т.п., перевести в текстовый формат.
(Google по pdf'ам прекрасно себе ищет, про остальных не знаю).
А аудио и видео выкладывать с описаниями.
Убрать логины и прочие ограничения.
Избавиться от флеша.
3. Со стороны поисковиков.
Вот это самый правильный путь на мой взгляд - попытаться
поисковым роботом добраться до глубокого веба. Ибо, как
известно, вкалывать должны роботы, а не человек.
Самая часто упоминаемая статья по этому поводу "Indexing
the invisible web: a survey", авторы Yanbo Ru и Ellis
Horowitz. Я уже было отчаялась найти ее в онлайне, но
потом вышла на выложенную в сети через поиск
по блогам. Статья посвящена работе с информацией,
расположенной в открытых бесплатных базах данных, к которым
пользователь может обращаться через веб-формы (это все те же
базы данных научных статей и т.п., упомянутые мною выше). То
есть, похоже, тому же, чему посвящен Гугловский патент, о
котором я говорила. Статья эта исследует варианты решения
проблемы и ссылается на большую кучу работ.
Кратенько о чем там. Задачи перед пауком ставлятся следующие:
распознать страничку, являющуюся интерфейсом к базе данных и
классифицировать ее.
Распознать такую страницу можно по тегу form. Но тег form
используется не только для для интерфейсов к базам данных. Это
может быть логин куда-либо, это может быть веб форма отправки
писем. Как понять что встретилось пауку? В статье обсуждается
два подхода. Первый: анализировать саму форму. Ну логично,
если в форме есть input с пометкой "пароль", то тут скорее
всего предлагается пользователю куда-то залогиниться. Второй
путь - послать что либо в форму и посмотреть что получится.
Далее следует классификация страницы, нужно понять это база
данных чего. Тут тоже изучаются два пути. Первый -
классификация с помощью анализа сайта, на котором веб форма
находится. Второй - опять туда чего-нибудь наприсылать и
проанализировать ответы.
Нашли, классифицировали. Что дальше - надо этот сайт
проиндексировать. Пытаемся задавать запросы, индексируем то,
что получили на выходе. Есть еще такой вариант - не
индексировать сайт, а хранить где-либо информацию об этом
найденном сайте и перенаправлять туда запросы пользователя по
мере надобности.
На каждом из вышеперечисленных этапов встречаются свои
проблемы и тонкости, в статье об этом всем хорошо написано.
Еще одна интересная статья на эту тему Index
Structures for Querying the Deep Web
Ссылки по теме
Research
Beyond Google: 119 Authoritative, Invisible, and
Comprehensive Resources
The
Ultimate Guide to the Invisible Web
CompletePlanet.com
- поиск по различным базам данных. Не впечатлил он меня
как-то.
Google
Unveils More of the Invisible Web - заметка 2001 года о
том, что Google начал индексировать нетекстовый контент.
Д.А.
Шестаков, Н.С. Воронцова. Структура русскоязычной части
глубинного Веба. [.pdf]
В комментариях koudesnik
упомянул еще статью по теме Structured
Databases on the Web: Observations and Implications