#!/usr/bin/perl -w use strict; use LWP::UserAgent; use Readonly; use HTML::TreeBuilder; use HTML::TableExtract; use HTML::Encoding 'encoding_from_http_message'; use Encode; Readonly::Scalar my $url => 'https://ebidmarketplace.com/publicVenSolList.asp'; Readonly::Scalar my $params1 => '?selAgency=&selbuyercd=&mDueDateFrom=&mDueDateTo=&docno=&fiscalyr=&chgordseq=&Agency=&buyerCode=&'; Readonly::Scalar my $params2 => 'agencyName=&buyerName=&selShowRows=9999&selsortby=POST_DATE&mStatus=0&changeind=01&curPage=1'; Readonly::Scalar my $fullurl => $url.$params1.$params2; # POST /publicVenSolList.asp selAgency=&selbuyercd=&mDueDateFrom=08%2F04%2F2011&mDueDateTo=09%2F03%2F2011&docno=&fiscalyr=&chgordseq=&Agency=&buyerCode=&agencyName=&buyerName=&selShowRows=500&selsortby=DUE_DATE&mStatus=0&changeind=01&curPage=1 my $ua = LWP::UserAgent->new; $ua->timeout(10); $ua->env_proxy; my $response = $ua->get($fullurl); if ($response->is_success) { #print $response->decoded_content; # or whatever } else { die $response->status_line; } #my $te = HTML::TableExtract->new(keep_html => 1, keep_headers => 1, slice_columns=> 0, strip_html_on_match => 1, headers => ["Solicitation#"], debug => 9); my $te = HTML::TableExtract->new(keep_headers => 1, slice_columns=> 0, keep_html => 1, headers => ["Solicitation#"]); #my $te = HTML::TableExtract->new(); print "before parse\n"; $te->parse($response->decoded_content); print "after parse\n"; # Examine all matching tables foreach my $ts ($te->tables) { print "Table found at ", join(',', $ts->coords), ":\n"; print "Table (", join(',', $ts->coords), "):\n"; my $i=0; foreach my $row ($ts->rows) { $i++; if ($row->[0]){ #print join(',', @$row), "\n"; }else{ print "Row variable is empty at row $i\n"; } } }