HTML <TR>
태그에서 모든 행 데이터를 추출하는 스크립트를 만들었습니다. 내 HTML 페이지에 30 개의 HTML <TR>
태그가 있습니다. 개수에 따라 코드에서 특정 행 데이터를 가져옵니다. 예를 들어, 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;
}
}
}
감사를 제대로 코드를 들여. –