#/usr/bin/perl
$time1=time;
$oqsl=$oqs{'Colibri'};
# Whole string
$ttok1="
";
# $ttok2="";
# Item Name
$ttok3="\">";
$ttok4="
\ ";
# Item Author
$ttok5="";
$ttok6="";
# Item Price
$ttok7="300\">";
$ttok8=" руб. ";
# Item Reference
$ttok9="href=\"";
$ttok10="\">";
$ttok14="";
# Item delivery conditions
# $ttok11="Наличие: ";
# $ttok12="";
# Token to skip record
# $ttok13="Оставить заявку";
# Item picture conditions
$ttok15="";
# $itempic="images/blank_cover.gif";
$pushline=0;
$lpath=$oq{'Colibri'};
$shop="Colibri";
undef @output;
# &IOsocket;
$resultio=IOsocket();
$inside=0;
$readytoprocess=0;
$pstring="";
$olen=$#output +1;
plog("Colibri answer has - $olen lines");
if($olen) {
foreach $outline (@output) {
if ($outline =~ /$ttok1/) {
$inside=1;
# print ("\n");
};
if ($inside == 1) {
$pstring.=$outline;
$pstring=~ s/\n//g;
$pstring=~ s/\r//g;
# print ("\n");
# print ("\n");
};
if (($inside == 1) && ($outline =~ /$ttok2/)) {
$inside=0;
$readytoprocess=1;
#print "\n\n\n";
};
if ($readytoprocess == 1) {
# $pstring.="\n";
# $pstring=~ s/ NEW!<\/B><\/I>//g;
# $pstring=~ s///;
# $pstring=~ s/<\/B>//;
$ltk=$ttok3;
$rtk=$ttok4;
$p1=index($pstring,$ltk)+length($ltk);
$p2=index($pstring,$rtk)-$p1;
$itemname=substr($pstring,$p1,$p2);
$itnc=index($itemname,$ttok14);
if($itnc > 0) {
$itemname=substr($itemname,0,$itnc);
};
#print "\n";
$ltk=$ttok5;
$rtk=$ttok6;
$p1=index($pstring,$ltk)+length($ltk);
$p2=index($pstring,$rtk)-$p1;
$itemauthor=substr $pstring,$p1,$p2;
$itemauthor=~ s/
/ /;
#print "\n";
$ltk=$ttok7;
$rtk=$ttok8;
$p1=index($pstring,$ltk)+length($ltk);
$p2=index($pstring,$rtk)-$p1;
$itemprice=substr $pstring,$p1,$p2;
$itemprice=~ s/,/./;
#print "\n";
$ltk=$ttok9;
$rtk=$ttok10;
$p1=index($pstring,$ltk)+length($ltk);
$p2=index($pstring,$rtk)-$p1;
$itemref=substr $pstring,$p1,$p2;
# if($itemref=~ /TITLE/go) {
# $rtk=$ttok14;
# $p2=index($pstring,$rtk)-$p1;
# $itemref=substr $pstring,$p1,$p2;
# };
#print "\n";
# $ltk=$ttok11;
# $rtk=$ttok12;
# $p1=index($pstring,$ltk)+length($ltk);
# $p2=index($pstring,$rtk)-$p1;
# $itemdelivery=substr $pstring,$p1,$p2;
$itemdelivery="В результатах поиска не указана. Смотри описание товара.";
#print "\n";
# if ($pstring =~ /$ttok13/go) {
# $itemname="";
# $itemauthor="";
# $itemprice="";
# $itemref="";
# $itemdelivery="";
# };
$ltk=$ttok15;
$rtk=$ttok16;
# if((index($pstring,$ltk) < 0) || (index($pstring,$rtk) < 0)){
# $ltk=$ttok151;
# $rtk=$ttok161;
# };
$p1=index($pstring,$ltk)+length($ltk);
$p2=index($pstring,$rtk)-$p1;
$itempic=substr $pstring,$p1,$p2;
$itempic="http://www.colibri.ru/photos/".$itempic;
$badtok1=">";
$badtok2="<";
if(($itemname =~ /$badtok1/) || ($itemname =~ /$badtok2/)) {
push(@showline,"***! Обработка страницы прервана. Неопознанный формат. ***\n");
print "\n";
last;
};
if(($itemauthor =~ /$badtok1/) || ($itemauthor =~ /$badtok2/)) {
push(@showline,"***! Обработка страницы прервана. Неопознанный формат. ***\n");
print "\n";
last;
};
if(($itemprice =~ /$badtok1/) || ($itemprice =~ /$badtok2/)) {
push(@showline,"***! Обработка страницы прервана. Неопознанный формат. ***\n");
print "\n";
last;
};
if(($itemref =~ /$badtok1/) || ($itemref =~ /$badtok2/)) {
push(@showline,"***! Обработка страницы прервана. Неопознанный формат. ***\n");
print "\n";
last;
};
if(($itemdelivery =~ /$badtok1/) || ($itemdelivery =~ /$badtok2/)) {
push(@showline,"***! Обработка страницы прервана. Неопознанный формат. ***\n");
print "\n";
last;
};
if(($itempic =~ /$badtok1/) || ($itempic =~ /$badtok2/)) {
$itempic = "images/blank_cover.gif";
};
$lists++;
if ($itemname ne "") {
if (index($itemprice,".") < 0) { $itemprice=$itemprice.".";};
if (index($itemprice,".") == 1) { $itemprice=" ".$itemprice;};
if (index($itemprice,".") == 2) { $itemprice=" ".$itemprice;};
if (index($itemprice,".") == 3) { $itemprice=" ".$itemprice;};
if (index($itemprice,".") == 4) { $itemprice=" ".$itemprice;};
if (index($itemprice,".") == 5) { $itemprice=" ".$itemprice;};
if (index($itemprice,".") == 6) { $itemprice=" ".$itemprice;};
push(@showline2,"$itemprice ||$itemname||$itemauthor||http://www.colibri.ru/$itemref\&Prt=$prtid||$itemdelivery||$shop||$oqsl||$itempic\n");
};
$pstring="";
$readytoprocess=0;
};
};
};
print "";
$time2=time;
1;