All pastes #1384748 Raw Edit

Anonymous

public text v1 · immutable
#1384748 ·published 2009-04-07 09:33 UTC
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|;