in reply to Re: WWW::Mechanize::TreeBuilder and WWW::Mechanize. Following links but can't return without error
in thread WWW::Mechanize::TreeBuilder and WWW::Mechanize. Following links but can't return without error
Oh sorry, here is the full code (I thought a snippet would be more clear in that case). This is everything from the folder, the 4 html pages and the perl code.
mech.pl
#!/usr/bin/perl use strict; use warnings; use WWW::Mechanize; use WWW::Mechanize::TreeBuilder; my $mech = WWW::Mechanize->new(); WWW::Mechanize::TreeBuilder->meta->apply($mech); $mech->get('file:///home/example/path/index.html'); die "Cannot open file: ", $mech->response->status_line unless $mech->success; my @list = $mech->look_down(_tag => "a", class => "links); foreach (@list) { my $url = "file:///home/example/path/"; $url = $url . $_->attr("href"); print $_->as_text(), " - ", $url, "\n"; $mech->get($url); $mech->back(); }
index.html
<html> <head> <title>Web Scraper Testing Grounds</title> <style> .links { font-family: Sans-Serif; } .spans { font-family: Serif; } .trs { border: 1px solid; } </style> </head> <body> <h1>Test Page for WWW::Mechanize scraping</h1> <table> <tr class="trs"> <td><a href="s1.html" class="links">S1 Link Content</a></td> <td><span class="spans">Page S1</span></td> </tr> <tr class="trs"> <td><a href="s2.html" class="links">S2 Link Content</a></td> <td><span class="spans">Page S2</span></td> </tr> <tr class="trs"> <td><a href="s3.html" class="links">S3 Link Content</a></td> <td><span class="spans">Page S3</td> </tr> </table> </body> </html>
s1.html
<html> <head></head> <body> <h1>This is the S1 page, first in set</h1> </body> </html>
s2.html
<html> <head></head> <body> <h1>This is the S2 page, second in set</h1> </body> </html>
s3.html
<html> <head></head> <body> <h1>This is the S3 page, third and final</h1> </body> </html>
When I try and run the code, this is the output I get
mdro79@mycpu$ ./mech.pl S1 Link Content - file:///home/example/path/s1.html Use of uninitialized value in concatenation (.) or string at ./scrMe.p +l line 31. Use of uninitialized value $tag in string eq at /usr/local/share/perl/ +5.14.2/HTML/Element.pm line 1109. Use of uninitialized value $tag in string eq at /usr/local/share/perl/ +5.14.2/HTML/Element.pm line 1109. - file:///home/example/path/ Use of uninitialized value in concatenation (.) or string at ./scrMe.p +l line 31. Use of uninitialized value $tag in string eq at /usr/local/share/perl/ +5.14.2/HTML/Element.pm line 1109. Use of uninitialized value $tag in string eq at /usr/local/share/perl/ +5.14.2/HTML/Element.pm line 1109. - file:///home/example/path/
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^3: WWW::Mechanize::TreeBuilder and WWW::Mechanize. Following links but can't return without error
by choroba (Cardinal) on Jan 05, 2013 at 07:32 UTC | |
Re^3: WWW::Mechanize::TreeBuilder and WWW::Mechanize. Following links but can't return without error
by Anonymous Monk on Jan 05, 2013 at 00:55 UTC |
In Section
Seekers of Perl Wisdom