Hello kanthsri, and welcome to the Monastery!
I re-formatted your code as follows:
#! perl
use Modern::Perl;
use LWP::Simple;
use URI::Escape;
use HTML::TreeBuilder;
use Try::Tiny;
my $look_for = "perl";
my $contents = get "http://www.amazon.com/s/ref=nb_sb_noss?url=search-
+alias%3Dstripbooks&field-keywords=" . uri_escape($look_for);
my $html = HTML::TreeBuilder->new_from_content($contents);
for my $item ($html->look_down(id => qr/result_\d+/))
{
# $item->dump;
# find out structure of HTML
my $author = try { $item->look_down(class => 'ptBrand')->as_trimme
+d_text };
print "$author\n";
}
$html->delete;
and ran it with the following result:
16:54 >perl 452_SoPW.pl
by Randal L. Schwartz, brian d foy and Tom Phoenix
by Tom Christiansen, brian d foy, Larry Wall and Jon Orwant Ph.D.
by Tom Christiansen and Nathan Torkington
by Randal L. Schwartz, brian d foy and Tom Phoenix
by Johan Vromans
by Joseph N. Hall, Joshua A. McAdams and brian d foy
by Randal Schwartz, Tom Phoenix and brian d foy
by David N. Blank-Edelman
by brian d foy
by Curtis Poe
by Damian Conway
by Paul E. Hoffman
16:56 >
What output do you get? In what way is the code “not executing” in your system?
Update: Just realised that the title answers my question! What version of HTML::TreeBuilder are you running? Mine is v5.01. What is line 108 in your version of this module?
|