SlideShare a Scribd company logo
1 of 22
Download to read offline
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::Keepalive
           v 0.25
Сервера риелторов не выдерживали
            нагрузок




  Apache + CGI = 5 запросов одновременно
Маленькие радости



Отдельное “спасибо” разработчикам,
 сделавшим параметр «количество
      объектов на странице»
Полуавтоматический режим



     Меняется представление
информации, необходимо постоянно
   поддерживать работу пауков
Спасибо за внимание!


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

More Related Content

Viewers also liked

Recursos tecnologicos na educacao moda_ou_necessidade
Recursos tecnologicos na educacao moda_ou_necessidadeRecursos tecnologicos na educacao moda_ou_necessidade
Recursos tecnologicos na educacao moda_ou_necessidadeNeuza Pedro
 
Brian's Program Testimonials - Part 2
Brian's Program Testimonials - Part 2Brian's Program Testimonials - Part 2
Brian's Program Testimonials - Part 2Prof Brian Peskin
 
Character Cakes Brochure • Bengawan Solo
Character Cakes Brochure • Bengawan SoloCharacter Cakes Brochure • Bengawan Solo
Character Cakes Brochure • Bengawan SoloToolbox Design
 
はてなダイアリーキーワードをつくってみたよ
はてなダイアリーキーワードをつくってみたよはてなダイアリーキーワードをつくってみたよ
はてなダイアリーキーワードをつくってみたよTsukasa Oishi
 
Campbell & Readman - TDD It's Not Tester Driven Development - EuroSTAR 2012
Campbell & Readman - TDD It's Not Tester Driven Development - EuroSTAR 2012Campbell & Readman - TDD It's Not Tester Driven Development - EuroSTAR 2012
Campbell & Readman - TDD It's Not Tester Driven Development - EuroSTAR 2012TEST Huddle
 
How to Résumé
How to RésuméHow to Résumé
How to RésuméMatt Ray
 
Implementation methods
Implementation methodsImplementation methods
Implementation methodsBioREDs
 
Scotland Public Opinion Monitor August 2014
Scotland Public Opinion Monitor  August 2014Scotland Public Opinion Monitor  August 2014
Scotland Public Opinion Monitor August 2014Ipsos UK
 
Matriz Cannes Lions 2016 Report
Matriz Cannes Lions 2016 ReportMatriz Cannes Lions 2016 Report
Matriz Cannes Lions 2016 ReportMauricio Oliveira
 
You've Changed: Field Audit Trails and the Salesforce Time Machine
You've Changed: Field Audit Trails and the Salesforce Time MachineYou've Changed: Field Audit Trails and the Salesforce Time Machine
You've Changed: Field Audit Trails and the Salesforce Time MachineDreamforce
 
XPages Blast - Lotusphere 2012
XPages Blast - Lotusphere 2012XPages Blast - Lotusphere 2012
XPages Blast - Lotusphere 2012Tim Clark
 

Viewers also liked (14)

Playlistify The Next Web
Playlistify The Next WebPlaylistify The Next Web
Playlistify The Next Web
 
Recursos tecnologicos na educacao moda_ou_necessidade
Recursos tecnologicos na educacao moda_ou_necessidadeRecursos tecnologicos na educacao moda_ou_necessidade
Recursos tecnologicos na educacao moda_ou_necessidade
 
Brian's Program Testimonials - Part 2
Brian's Program Testimonials - Part 2Brian's Program Testimonials - Part 2
Brian's Program Testimonials - Part 2
 
Bhutan Tour Package
Bhutan Tour PackageBhutan Tour Package
Bhutan Tour Package
 
Character Cakes Brochure • Bengawan Solo
Character Cakes Brochure • Bengawan SoloCharacter Cakes Brochure • Bengawan Solo
Character Cakes Brochure • Bengawan Solo
 
Havacilik
HavacilikHavacilik
Havacilik
 
はてなダイアリーキーワードをつくってみたよ
はてなダイアリーキーワードをつくってみたよはてなダイアリーキーワードをつくってみたよ
はてなダイアリーキーワードをつくってみたよ
 
Campbell & Readman - TDD It's Not Tester Driven Development - EuroSTAR 2012
Campbell & Readman - TDD It's Not Tester Driven Development - EuroSTAR 2012Campbell & Readman - TDD It's Not Tester Driven Development - EuroSTAR 2012
Campbell & Readman - TDD It's Not Tester Driven Development - EuroSTAR 2012
 
How to Résumé
How to RésuméHow to Résumé
How to Résumé
 
Implementation methods
Implementation methodsImplementation methods
Implementation methods
 
Scotland Public Opinion Monitor August 2014
Scotland Public Opinion Monitor  August 2014Scotland Public Opinion Monitor  August 2014
Scotland Public Opinion Monitor August 2014
 
Matriz Cannes Lions 2016 Report
Matriz Cannes Lions 2016 ReportMatriz Cannes Lions 2016 Report
Matriz Cannes Lions 2016 Report
 
You've Changed: Field Audit Trails and the Salesforce Time Machine
You've Changed: Field Audit Trails and the Salesforce Time MachineYou've Changed: Field Audit Trails and the Salesforce Time Machine
You've Changed: Field Audit Trails and the Salesforce Time Machine
 
XPages Blast - Lotusphere 2012
XPages Blast - Lotusphere 2012XPages Blast - Lotusphere 2012
XPages Blast - Lotusphere 2012
 

More from mayperl

‎Тестирование в проекте REG.RU‎
‎Тестирование в проекте REG.RU‎‎Тестирование в проекте REG.RU‎
‎Тестирование в проекте REG.RU‎mayperl
 
Use Perl like Perl
Use Perl like PerlUse Perl like Perl
Use Perl like Perlmayperl
 
Anyevent
AnyeventAnyevent
Anyeventmayperl
 
Perl + nginx = ♥‎
Perl + nginx = ♥‎Perl + nginx = ♥‎
Perl + nginx = ♥‎mayperl
 
Browser sniffing в 21 веке‎
Browser sniffing в 21 веке‎Browser sniffing в 21 веке‎
Browser sniffing в 21 веке‎mayperl
 
А у нас Perl 6 в production :)
А у нас Perl 6 в production :)А у нас Perl 6 в production :)
А у нас Perl 6 в production :)mayperl
 
Что будет с Перлом?
Что будет с Перлом?Что будет с Перлом?
Что будет с Перлом?mayperl
 
Использование WebMoney в Perl‎
Использование WebMoney в Perl‎Использование WebMoney в Perl‎
Использование WebMoney в Perl‎mayperl
 
Вебклуб Perlgolf.ru
Вебклуб Perlgolf.ruВебклуб Perlgolf.ru
Вебклуб Perlgolf.rumayperl
 
Perl в хэке и хэки в Perl
Perl в хэке и хэки в PerlPerl в хэке и хэки в Perl
Perl в хэке и хэки в Perlmayperl
 
Работа с большими файлами под перлом‎
Работа с большими файлами под перлом‎Работа с большими файлами под перлом‎
Работа с большими файлами под перлом‎mayperl
 
Сравнение работы алгоритмов сортировки, реализованных на Perl
Сравнение работы алгоритмов сортировки, реализованных на PerlСравнение работы алгоритмов сортировки, реализованных на Perl
Сравнение работы алгоритмов сортировки, реализованных на Perlmayperl
 
Курс Perl в УрГУ
Курс Perl в УрГУКурс Perl в УрГУ
Курс Perl в УрГУmayperl
 
Ведение документации в perl6: POD, да не тот !
Ведение документации в perl6: POD, да не тот !Ведение документации в perl6: POD, да не тот !
Ведение документации в perl6: POD, да не тот !mayperl
 
Making Your Own CPAN
Making Your Own CPANMaking Your Own CPAN
Making Your Own CPANmayperl
 
Распределенная обработка потоковых данных
Распределенная обработка потоковых данныхРаспределенная обработка потоковых данных
Распределенная обработка потоковых данныхmayperl
 
Упаковка и развертывание программ на perl под debian‎
Упаковка и развертывание программ на perl под debian‎Упаковка и развертывание программ на perl под debian‎
Упаковка и развертывание программ на perl под debian‎mayperl
 
Groovy Vs Perl
Groovy Vs PerlGroovy Vs Perl
Groovy Vs Perlmayperl
 
Написание DSL в Perl
Написание DSL в PerlНаписание DSL в Perl
Написание DSL в Perlmayperl
 

More from mayperl (19)

‎Тестирование в проекте REG.RU‎
‎Тестирование в проекте REG.RU‎‎Тестирование в проекте REG.RU‎
‎Тестирование в проекте REG.RU‎
 
Use Perl like Perl
Use Perl like PerlUse Perl like Perl
Use Perl like Perl
 
Anyevent
AnyeventAnyevent
Anyevent
 
Perl + nginx = ♥‎
Perl + nginx = ♥‎Perl + nginx = ♥‎
Perl + nginx = ♥‎
 
Browser sniffing в 21 веке‎
Browser sniffing в 21 веке‎Browser sniffing в 21 веке‎
Browser sniffing в 21 веке‎
 
А у нас Perl 6 в production :)
А у нас Perl 6 в production :)А у нас Perl 6 в production :)
А у нас Perl 6 в production :)
 
Что будет с Перлом?
Что будет с Перлом?Что будет с Перлом?
Что будет с Перлом?
 
Использование WebMoney в Perl‎
Использование WebMoney в Perl‎Использование WebMoney в Perl‎
Использование WebMoney в Perl‎
 
Вебклуб Perlgolf.ru
Вебклуб Perlgolf.ruВебклуб Perlgolf.ru
Вебклуб Perlgolf.ru
 
Perl в хэке и хэки в Perl
Perl в хэке и хэки в PerlPerl в хэке и хэки в Perl
Perl в хэке и хэки в Perl
 
Работа с большими файлами под перлом‎
Работа с большими файлами под перлом‎Работа с большими файлами под перлом‎
Работа с большими файлами под перлом‎
 
Сравнение работы алгоритмов сортировки, реализованных на Perl
Сравнение работы алгоритмов сортировки, реализованных на PerlСравнение работы алгоритмов сортировки, реализованных на Perl
Сравнение работы алгоритмов сортировки, реализованных на Perl
 
Курс Perl в УрГУ
Курс Perl в УрГУКурс Perl в УрГУ
Курс Perl в УрГУ
 
Ведение документации в perl6: POD, да не тот !
Ведение документации в perl6: POD, да не тот !Ведение документации в perl6: POD, да не тот !
Ведение документации в perl6: POD, да не тот !
 
Making Your Own CPAN
Making Your Own CPANMaking Your Own CPAN
Making Your Own CPAN
 
Распределенная обработка потоковых данных
Распределенная обработка потоковых данныхРаспределенная обработка потоковых данных
Распределенная обработка потоковых данных
 
Упаковка и развертывание программ на perl под debian‎
Упаковка и развертывание программ на perl под debian‎Упаковка и развертывание программ на perl под debian‎
Упаковка и развертывание программ на perl под debian‎
 
Groovy Vs Perl
Groovy Vs PerlGroovy Vs Perl
Groovy Vs Perl
 
Написание DSL в Perl
Написание DSL в PerlНаписание DSL в Perl
Написание DSL в Perl
 

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