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/
|