--- lib/Grep/Source.pm 2007/05/01 20:50:14 133 +++ lib/Grep/Source.pm 2007/05/01 21:06:10 134 @@ -242,7 +242,7 @@ $self->log->debug("looking for $message $tag"); @results = $tree->look_down( '_tag', $el, sub { return 1 unless ( $attr && $value ); - ( $_[0]->attr( $attr ) || '' ) eq $value; + ( $_[0]->attr( $attr ) || '' ) =~ m/\b\Q$value\E\b/ }); last if @results; } @@ -392,23 +392,32 @@ my $page_tree = HTML::TreeBuilder->new or die "can't create page tree"; $page_tree->parse( $mech->content ) or die "can't parse page at $page_uri"; - my $div = $self->element_by_triplet( + my @divs = $self->element_by_triplet( tree => $page_tree, message => "result page $nr", triplets => $args->{scrape} ); - $self->add_record( - in_feed => $feed, - title => $mech->title, - link => $page_uri, - content => $div->as_HTML, -# summary => -# category => -# author => -# issued => -# modified => - ) if ( $div ); + if ( @divs ) { + + my $html = join("
\n", map { $_->as_HTML } @divs ); + $self->log->debug("found ", $#divs + 1, " element ", length($html), " bytes"); + + $self->add_record( + in_feed => $feed, + title => $mech->title, + link => $page_uri, + content => $html, +# summary => +# category => +# author => +# issued => +# modified => + ); + + } else { + $self->log->debug("NO CONTENT scraped from page $nr"); + } $mech->back; $page_tree->delete;