Terrence Brannon <[EMAIL PROTECTED]> writes:

> Hi, I am attempting a replica of the examples provided
> with HTML::Filter. However, I cannot even get it to
> act a "a slower cat". So I have two questions:
> 
> 1- Why is it not even simply printing out the content
> I feed into the parse() method? I know there is
> content because I have been printing it all day.

Try to enable the -w option of perl and 'use strict'.  It looks that
you store your content in $main::content and try to filter from
$A::content.

> 2- How can I get it to print all links in the text? I
> dont want to use HTML::LinkExtor because I want to get
> used to using the more general tool.

Then you should use HTML::Parser directly.  HTML::Filter is
depreciated.

Regards,
Gisle


> Thanks. Code below:
> <code>
> 
> #!/usr/local/bin/perl
> 
> use LWP::UserAgent;
> $ua = new LWP::UserAgent;
> #  $ua->agent("$0/0.1 " . $ua->agent);
>     $ua->agent('Mozilla/4.0 (compatible; MSIE 5.0;
> Windows 98; DigExt)');
> # $ua->proxy(http =>
> 'http://planet.instinet.com/proxy.esn.pac');
> $ua->proxy(http => 'http://esnproxy');
> $ua->agent("Mozilla/8.0"); # pretend we are very
> capable browser
> #  $req = new HTTP::Request 'GET' => 'http://spyder';
> #  $req = new HTTP::Request 'GET' =>
> 'http://128.125.104.140';
> 
> $base_url='http://toplist.island.com/toplist/top20.jsp?AH=off&frc=off';
> %sort=(
>        'shares_traded' => 0,
>        'open_orders' => 3,
>        'net_change_desc'  => 4,
>        'net_change_asc'   => 5,
>        'percent_change_desc'   => 6,
>        'percent_change_asc'   => 7
>       );
> 
> $sort_type=
> $full_url = "$base_url&SORT=$sort{sort_type}";
> 
>   $req = new HTTP::Request 'GET' => "$full_url";
>   $req->header('Accept' => 'text/html');
>   # send request
>   $res = $ua->request($req);
>   # check the outcome
>   if ($res->is_success) {
>     my $content = $res->content;
> #    print $content;
>   } else {
>      print "Error: " . $res->status_line . "\n";
>   }
> 
> ++$|;
> 
> package A;
> require HTML::Filter;
> @ISA=qw(HTML::Filter);
> =head1
> sub start
>   {
>      my $self = shift;
>      $self->{a_seen}++ if $_[0] eq "a";
>      $self->SUPER::start(@_);
>   }
>   sub end
>   {
>      my $self = shift;
>      $self->SUPER::end(@_);
>      $self->{a_seen}-- if $_[0] eq "a";
>   }
>   sub output
>   {
>       my $self = shift;
>       unless ($self->{a_seen}) {
>           $self->SUPER::output(@_);
>       }
>   }
> =cut
> $p = HTML::Filter->new->parse($content);
> $p->eof;
> 
> 
> </code>

Reply via email to