Личный кабинет    
Назад К началу Вперед Карта сайта Телефонные коды стран и городов Мира Анализатор тарифов Служб IP-Телефонии и Рейтинг

Разделы
Введение
Литература
Операторы
Оборудование
Анализатор
Сотрудничество
Печать карт
Новости
Опросник
Коды
Справка
Работа
Каталог
Хостинг
Личный кабинет

Реклама

Perl для IP-Телефонии (31 – Примеры LWP, часть 32)

предыдущая часть ««»» следующая часть

В следующем примере сценарий get_url2.pl применяется для получения начальной страницы машины поиска Google и передачи вывода этого сценария по каналу в сценарий print_links.pl. С помощью данного сценария можно осуществлять поиск различной информации, к примеру, узнать цены на телефоны Нокиа в вашем регионе или последние новости мобильной связи и технологий.

% get_url2.pl http://www.google.com | print_links.pl
img: images/title_homepage2.gif
link: advanced_search.html
link:  preferences.html
link: link_NPD.html
link: jobs.html
link: http://directory.google.com link: adv/intro.html link: websearch_programs.html link: buttons.html link: about.html

Код сценария print_links.pl приведен ниже.

0:    #!/usr/local/bin/perl -w
1:    # Файл: print_links.pl
2:    use strict;
3:    use HTML::Parser;
4:    my $parser = HTML::Parser->new(api_version -> 3);
5:     $parser->handler(start => &print_link, ‘tagname,attr’);
6:    $parser->parse($_) while <>;
7:    $parser->eof;
8:    sub print_link {
9:    my    ($tagname , $attr) = @_;
10:    if ($tagname eq 'ar ') {
11:    print "link: ", $attr->{href}, "n"
12:    }    elsif ($tagname eq 'img') {
13:    print 'img: ',$attr->{src}/"n";
14:        }
15:    }

Проведем анализ программы.

Строки 1-3. Загрузка модуля. После включения строгой проверки синтаксиса загружается модуль HTML::Parser. Это — единственный необходимый здесь модуль.

Строки 4, 5. Создание и инициализация объекта синтаксического анализатора. Создается новый объект HTML::Parser путем вызова его метода new(). По причинам, описанным в следующем разделе, методу new () в виде параметра api_version передается указание использовать версию 3 API-интерфейса.

После создания синтаксического анализатора выполняется его настройка путем вызова мето­да handler () для установки обработчика событий, связанных с появлением начального тега. Параметр start содержит ссылку на подпрограмму print_link(); эта подпрограмма вызы­вается при обнаружении синтаксическим анализатором каждого начального тега. Следующий параметр метода handler () сообщает модулю html::Parser, какие параметры должны пе­редаваться обработчику событий при его вызове. В этом параметре содержится требование, чтобы синтаксический анализатор передавал подпрограмме print_link() имя тега (tagname) и ссылку на хеш, содержащий атрибуты тега (attr).



2014-04-16 23:29:59

предыдущая часть ««»» следующая часть


ДОКУМЕНТАЦИЯ VoIP


НОВОСТИ СВЯЗИ


РЕКОМЕНДУЕМ

 
[ стандарты | обзор | оборудование | анализатор | коды | новости | карта | партнерам | Мы ВКонтаке ]
Запрещается копировать материалы сайта без уведомления авторов.
С вопросами и предложениями обращайтесь со страницы контактов
Copyright c 1999-2024 IPTop.Net
 
IP-Телефония, Интернет Телефония, Компьютерная телефония