Я пытаюсь извлечь содержимое HTML, содержащееся в < td> тегах, соответствующих классу «tablehead1».Perl: Извлечение элемента HTML с определенным классом с помощью HTML :: TokeParser
< td class="tablehead1"> Market </td>
В процессе анализа я получаю все текстовое содержимое < TD> теги, присутствующие в целом HTML-файл. Но мне нужно только содержимое в тегах < td> с конкретным классом «tablehead1».
Где я ошибаюсь в приведенном ниже коде?
use HTML::TokeParser;
open(DATA,"<KeyStats.html") or die "Can't open data";
my $p = HTML::TokeParser->new(*DATA);
while (my $token = $p->get_tag('td')) {
my $url = $token->[1]{class} || "tablehead1";
my $text = $p->get_trimmed_text("/td");
if (length($text)<30&&length($text)>0) { print "$text\n"; }
}
Используйте [HTML :: TableExtract] (http://www.nu42.com/2012/04/htmltableextract-is-beautiful.html). –
Также 'length ($ text) <30 && length ($ text)> 0' является мерзостью. Я не знаю недостатка в пробельных символах. Плюс '$ text и (длина ($ text) <30)' намного лучше. –