现在的位置: 首页 > 综合 > 正文

perl 用参数传递URL地址进行HTML解析

2012年04月01日 ⁄ 综合 ⁄ 共 1810字 ⁄ 字号 评论关闭

  #!C:/perl64/bin/perl
 require LWP::UserAgent;
 
 my $ua = LWP::UserAgent->new;
 $ua->timeout(10);
 $ua->env_proxy;
 
 my ($url_new,$url_old) = @ARGV;
 my $response = $ua->get($url_new);
 die $response->status_line unless ($response->is_success);
# print $response->decoded_content;  # or whatever whole file
my @contents_new = split (/<\/tr>/,$response->decoded_content);
my $eachline = undef;
#$response->decoded_content just one line
#so if dealing with the line ,us split

foreach $eachline (@contents_new){
chomp $eachline;
         
next unless ($eachline =~ /<tr><td align="left">/); #sometime be not so strict
 
if($eachline =~ /html">(.*?)< .*? ">\s?([0-9]+\.[0-9])<\/td> 
.*? >([0-9]+\.[0-9]|n\/a)+< 
.*? >([0-9]+\.[0-9]|n\/a)+<
                     .*? html">(.*?)<
.*? ">(.*?)<\/td> /x)
    {
        printf ("%-145s\t:%-3.1f\t%-3.1f\t%-3.1f\n",$1,$2,$5,$6);
}

}
  print "*********************************\n";
  
=comment  
# my @contents = $response->decoded_content;
# foreach my $content (@contents){
# print $content;
#}
 $response = $ua->get($url_old);
 die $response->status_line unless ($response->is_success);
 print $response->decoded_content;  # or whatever whole file
 #my @contents_new = $response->decoded_content;
 my @contents_old = $response->decoded_content;
 my $eachline1 = undef;
foreach $eachline1 (@contents_old){
print $eachline1."###";
}
 

#use LWP::UserAgent;
#$browser=LWP::UserAgent->new;
#$TARGET_URL="http://search.cpan.org";
#$response=$browser->post($TARGET_URL);
#$htmlcontent=$response->content; 
#print $htmlcontent."\n";

=cut

发邮件功能,发送的邮件用HTML显示

use Net::SMTP;


my $smtp = Net::SMTP->new($email_server);
$smtp->mail($email_sender);
my @receivers = split (";",$email_receivers);


$smtp->recipient(@receivers);
$smtp->data();
$smtp->datasend("MIME-Version: 1.0\n");
$smtp->datasend("Content-Type: text/html; charset=us-ascii\n");
$smtp->datasend("To: $email_receivers\n");
$smtp->datasend("Subject: STF Change\n");
$smtp->datasend("$result_content\n");
$smtp->quit;

抱歉!评论已关闭.