CopyMaster: индексатор
Итак, пламенным мотором сервиса является его индексатор. Индексатор должен делать следующие вещи:
- загружать из интернета страницы, чьи ссылки находятся в очереди на индексацию
- парсить контент и добавлять ссылки новых страниц в очередь
- архивировать содержимое и сохранять его на диске
- преобразовывать контент во внутренний формат сервиса и сохранять в базе
Теперь рассмотрим эти пункты по-порядку.
Загрузка страниц.
Страницы загружаются из инета одна за одной. Программа запускает один или более потоков для скачивания очередной страницы. При этом каждый поток берет очередную ссылку, и помечает ее флагом загрузки. Это, впрочем, стандартная процедура создания очереди с помощью базы данных.
Парсинг контента
Тут все ясно: после того, как страница загружена, ее необходимо обработать. Для этого из страницы извлекаются все ссылки на все допустимые типы страниц, и затем помещаются в базу для дальнейшего скачивания. Естественно, что те страницы, чьи адреса уже есть в базе, добавляться и загружаться уже не будут. Также понятно, что если одна и та же страница имеет разные ссылки, то она будет загружена столько раз, сколько вариантов ссылок не нее есть. Все же парсер - не может быть такой уж интеллектуальной программой, чтобы понять, что параметр op=а в адресе обозначает лишь изменение сортировки.
Архивация
С этим тоже все должно быть понятно - для того, чтобы сэкономить место, мы должны хатрачивать дополнительное время на архивирование. Ничего не бывает бесплатно, а в мире компьютеров и подавно.
Преобразование формата
После загрузки контент необходимо обработать для того, чтобы в дальнейшем его можно было использовать для поиска. Новый формат будет описан более подробно в будущих постах.



Последние комментарии