Я создал один скрипт, который будет извлекать все данные Row из тегов HTML <TR>
. У меня есть 30 тегов HTML <TR>
на моей странице HTML. Основываясь на подсчете, мой код будет извлекать данные определенной строки. Предположим, если мне нужны данные, присутствующие в 5 <tr>...</tr>
, то мое состояние if(count =5) {(go inside and get that data)}
Извлеките несколько строк с помощью HTML :: TableExtract
Но моя проблема здесь. Мне нужны данные по выбранным строкам по одному. Предположим, мне нужны данные для строк 5, 6 и 14.
Не могли бы вы помочь мне разобраться?
$te = new HTML::TableExtract(count => 0);
$te->parse($content);
# Examine all matching tables
foreach $ts ($te->table_states) {
#print "Table (", join(',', $ts->coords), "):\n";
$cnt = 1;
foreach $row($ts->rows) {
# print " ---- Printing Row $cnt ----\n";
$PrintLine= join("\t", @$row);
@RowData=split(/\t/,$PrintLine);
$PrintLine =~ s/\r//ig;
$PrintLine =~ s/\t//ig;
$cnt = $cnt + 1;
# if ($PrintLine =~ /Site ID/ig || $PrintLine =~ /Site name/ig){print " Intrest $PrintLine $cnt =====================\n"};
if ($cnt == 14) {
$arraycnt = 1;
my $SiteID="";
my $SiteName="";
foreach (@RowData) {
# print " Array element $arraycnt\n";
chomp;
$_ =~ s/\r//ig;
$_ =~ s/[\xC3\xA1\xC3\xA0\xC3\xA2\xC3\xA3]//ig;
if ($arraycnt== 17) { $SiteID= $_;}
if ($arraycnt== 39) { $SiteName= $_;}
$arraycnt = $arraycnt + 1;
}
#$PrintLineFinal = $BridgeCase."\t".$PrintLine;
$PrintLineFinal = $BridgeCase."\t".$SiteID."\t".$SiteName;
#print "$PrintLineFinal\n";
print MYFILE2 "$PrintLineFinal\n";
last;
}
}
}
Благодаря отступы ваш код правильно. –