10.000 вариантов снять квартиру или сам себе poe-риелтор

Post on 25-May-2015

548 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

YAPC Russia 2009 "May Perl 2"

TRANSCRIPT

10.000 вариантов снять квартиру или сам себе POE-риелтор

Вид каталога

Идентификатор

Подробная информация

Паук на POE и драйверная система

Структура драйвера{ name => 'landlord', url => sub { ... }, url_details => sub { ... }, types => { app_for_sale => 'flat', rent_flat => 'flat', house_for_sale => 'house', rent_house => 'house', }, connection_options => { keep_alive => 0, }, parsers => { count => sub { ... }, details => sub { ... }, items => sub { ... }, },}

3 функции для разбора собранных страниц

parsers => { count => sub { ... }, details => sub { ... }, items => sub { ... }, },

2 Функции для генерации ссылок

url => sub { ... }, url_details => sub { ... },

Драйвер готов!

Основные этапы работы

1. ИнициализацияОпределение количества страниц каталога

2. Сбор каталога Сбор страниц по подготовленным ссылкам

3. Анализ собранных объектовСравнение объектов в нашей БД и в каталоге-источнике

4. Сбор подробной информации по новым объектам

Необычный поиск

• Получить идентификатор с помощью LWP::UserAgent

• Генерировать ссылки с использованием идентификатора

Ошибки в каталогах

POE::Component::Client::Keepalivev 0.25

Сервера риелторов не выдерживали нагрузок

Apache + CGI = 5 запросов одновременно

Маленькие радости

Отдельное “спасибо” разработчикам, сделавшим параметр «количество

объектов на странице»

Полуавтоматический режим

Меняется представление информации, необходимо постоянно

поддерживать работу пауков

Спасибо за внимание!

Константинов ДмитрийRostovOnDon.pm

top related