rendered paste body#!/usr/bin/perl
use LWP;
use HTTP::Cookies;
use HTTP::Request::Common;
use HTML::TableExtract;
use HTML::Entities;
my @sites = ('http://www.fastsatfinder.com/transponders_america.html',
'http://www.fastsatfinder.com/transponders_atlantic.html',
'http://www.fastsatfinder.com/transponders_europe.html',
'http://www.fastsatfinder.com/transponders_asia.html'
);
my $cookie_jar = new HTTP::Cookies(hide_cookie2 => 1);
my $ua = new LWP::UserAgent(keep_alive => 0);
$ua->cookie_jar($cookie_jar);
$ua->agent("Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");
print qq|<satellites>\n|;
foreach my $site (@sites) {
my $response = $ua->request(GET $site);
if($response->is_success) {
my @headers = ('Download File', 'Position', 'Satellite Name');
my $te = HTML::TableExtract->new( headers => [@headers], keep_html => 1 );
$te->parse($response->content);
foreach my $ts ($te->tables) {
foreach $row ($ts->rows) {
my $tmp = $row->[0]; $link=~s{^\s+}{};
if($tmp=~/<a href="([^"]+)">[^<]+<\/a>/) {
my $link = $1;
my $pos = $row->[1]; $pos = decode_entities($pos); $pos=~s{^\s+}{}; $pos=~s{\s+$}{};
my $desc = $row->[2]; $desc = decode_entities($desc); $desc=~s{^\s+}{}; $desc=~s{\s+$}{};
print qq|<satellite name="$pos $desc" url="$link"/>\n|;
}
}
}
} else {
print $response->error_as_HTML();
}
}
print qq|</satellites>\n|;