Odkąd zapytałem się, jak parsować html z regex i zostało nieco roztrzaskane (słusznie), studiowałem moduły Perl: HTML::TreeBuilder, HTML::Parser, HTML::TokeParser i HTML::Elements.Jak mogę znaleźć zawartość elementu div przy użyciu modułów HTML Perla, jeśli znam wewnątrz niego znacznik?
Mam HTML tak:
<div id="listSubtitlesFilm">
<dt id="a1">
<a href="/45/subtitles-67624.aspx">
.45 (2006)
</a>
</dt>
</div>
chcę analizować zewnątrz /45/subtitles-67624.asp
, ale co ważniejsze Chcę umieć analizować na zawartość div.
Dostałam ten przykład na poprzednie pytanie:
while (my $anchor = $parser->get_tag('a')) {
if (my $href = $anchor->get_attr('href')) {
#http://subscene.com/english/Sit-Down-Shut-Up-First-Season/subtitles-272112.aspx
push @dnldLinks, $1 if $href =~ m!/subtitle-(\d{2,8})\.aspx!;
}
To działało idealnie do tego, ale kiedy próbowałem go edytować trochę i używać go na `` div` to nie działa . Oto kod próbowałem:
Próbowałem za pomocą tego kodu:
while (my $anchor = $p->get_tag("dt")) {
if($stuff = $anchor->get_attr('a1')) {
print $stuff."\n";
}
}
przykro! zaktualizowałem to! – Codygman
Jakiego modułu używasz? Wspomniałeś jak pięć w pytaniu, nie ma czegoś takiego jak HTML :: TreeParser, a twój kod nie wygląda tak, jak w HTML :: TreeBuilder ... – hobbs
Używam HTML :: TokeParser :: Simple .. przepraszam za zamieszanie – Codygman