perl LWP 模块安装以及抓取xml内容

 因为最近可能要用到web 来交互,所以需要perl  LWP的模块来支持。
总的来说,安装lwp比较麻烦,尤其是我试了n次 perl -MCPAN 的方式都没有成功后。
之前都是以源码来安装的,因为看到资料说 Lwp所依赖的包很多,比较麻烦。当然,在以cpan安装没有成功之后,我不得不以老方法来安装了。

《Perl 网络编程》有比较详细的安装过程,只是它那里是很老的版本的,新版本需要的模块有
 URI
  MIME-Base64
  HTML-Parser
  libnet
  Digest-MD5
  Compress-Zlib
 
每个都装,有警告的暂且忽略了,最后安装成功。


另外因为要用到简单的xml解析。我也安装了XML::Simple 模块,最后使用这个简单的脚本就可以抓取网上的xml文件内容了。

#!/usr/bin/perl
use strict;
use LWP;
use URI::URL;
use XML::Simple;
use Data::Dumper;

my $url = "http://test.com/ssdf/xxx.xml";
my $agent = LWP::UserAgent->new;
my $req   = HTTP::Request->new(GET => $url);
my $response = $agent->request($req);
my $xs1 = XML::Simple->new();
if ($response->is_success) {
  my $c   = $response->content;
  my $doc = $xs1->XMLin($c);
  #如果xml中有utf编码,或者如ईࡉ这样的字符时,加上以下这句是十分必要的。
  binmode(STDOUT,":encoding(gb2312)");

  my $r   = Dumper($doc);
}
else {
  print $response->status_line, "/n";
}

你可能感兴趣的:(编程,xml,脚本,perl,url,encoding)