Perl - статьи


Пример использования модулей LWP и HTML::Tree - часть 7


135     $basic_html =~ s%<small class="micro">Книгопечатная продукция</small><br>%%ig; # убираем лишнюю информацию

136     $basic_html =~ s%<big class="BIG2">Результаты поиска</big><br><b><small>Найдено (\d+)</small></b>%%i;

137     $basic_html =~ s%style="padding-top:12;"%%i;

138     undef $root;

139     $root = HTML::TreeBuilder->new_from_content($basic_html);

140     foreach my $a ($root->look_down(_tag => 'a')){ # измененяем ссылки в документе на те, что нам нужно: в случае ссылки на другую страницу - изменяем эту ссылку на ссылку на скрипт; в случае ссылки на книгу подставляем партнёрский идентификатор

141      if($a->attr('href')=~ m/page=(\d+)/){$a->attr('href','http://perl.dp.ua/cgi-bin/book.cgi?text='.$arr[1].'&page='.$1);}

142      else{$a->attr('href','http://ozon.ru'.$a->attr('href')."?partner=d392"); $a->attr('target','_new_'.int(100000*rand()));}

143     }

144     $root->pos(undef);

145     foreach my $img ($root->look_down(_tag => 'img')){ # правим адреса картинок

146      my $temp = $img->attr('src');

147      $temp =~ s%//%/%ig;

148      $img->attr('src','http://ozon.ru'.$temp);

149     }

150     $root->pos(undef);

151     foreach my $td ($root->look_down(_tag => 'td', class => 'salecol')){ # убираем ненужную информацию

152      if($td->as_HTML("<>%") =~ m%buy%){

153       $td->replace_with('&nbsp;');




Начало  Назад  Вперед



Книжный магазин