以下は基本的な HTML テーブルです。
<table>
<thead>
<td class="foo">bar</td>
</thead>
<tbody>
<td>rows</td>
…
</tbody>
</table>
ソース ファイルにそのようなテーブルがいくつかあるとします。のオプションhxextract
、または CSS3 セレクターhxselect
、または他のツールで使用できるものはありますthead
か? それとも、それほど単純ではないawk
(または、送信前に見つかったperlの可能性がある) スクリプトで立ち往生していますか?
更新:
コンテンツベースの抽出の場合、perlHTML::TableExtract
はトリックを行います:
#!/usr/bin/env perl
use open ':std', ':encoding(UTF-8)';
use HTML::TableExtract;
# Extract tables based on header content, slice_columns helpful if colspan issues
$te = HTML::TableExtract->new( headers => ['Multi'], slice_columns => 0);
$te->parse_file('mywebpage.html');
# Loop on all matching tables
foreach $ts ($te->tables())
{
# Print table identification
print "Table (", join(',', $ts->coords), "):\n";
# Print table content
foreach $row ($ts->rows)
{
print join(':', @$row), "\n";
}
}
ただし、場合によっては、単純なlynx -dump mywebpage.html
結合 wihawk
などでも同じくらい効率的です。