#!/usr/bin/perl
##############################################################################
#
# 	Script to get details from FSA
#
##############################################################################

require 5.002;

use LWP::UserAgent;
use HTTP::Cookies;

$ua = new LWP::UserAgent;
$ua->agent("Mozilla/1.1 ".$ua->agent);
$cookies=new HTTP::Cookies(file=>'cookies.dat',autosave=>1);
$ua->cookie_jar($cookies);

$mainurl = "https://new.devon.gov.uk/democracy/councillors-nav/councillors-contact-list/";
$outputfile  = 'devoncc.csv';
open OHFILE, '>'.$outputfile or die "failed to open file ($!) \n";

$| = 1;

# read in the page
$mainpage = fetch_url($mainurl);
@mpage = split(/\n/, $mainpage);

$count = 0;
foreach $line (@mpage) {
  chomp($line);
  if ($line =~ /<tr><td><a href="https:\/\/new.devon.gov.uk/) {
    @cou = split(/<tr><td><a href="https:\/\/new.devon.gov.uk/, $line);
    $name = '';
    $email = '';
    foreach $cline (@cou) {
      $cline =~ m/<span title=".*?">(.*?)<\/span>/;
      $name = $1;
      $cline =~ m/mailto:(.*?)"/;
      $email = $1;

      print OHFILE $name.'|||'.$email."\n";
    }
  }
}

close OHFILE;

sub do_post {

  my $url = shift(@_);
  my $pc  = shift(@_);

  my $res = $ua->post( $url,
    { pageNumber=> '0',
      firmName=> '',
      postcodeOut => $pc,
      searchType => '2',
      currAuthorisedInd => 'on',
    ddd => 'Submit' }  );

  # Return the result

  if ($res->is_success) { return $res->content; }
  else                  { return ''; }

}


sub fetch_url {

  my $url = shift(@_);

  # Create a request

  my $req = new HTTP::Request GET => $url;

  # Pass request to the user agent and get a response back

  my $res = $ua->request($req);

  # Return the result

  if ($res->is_success) { return $res->content; }
  else                  { return ''; }

}
