Chinaunix首页 | 论坛 | 博客
  • 博客访问: 467685
  • 博文数量: 142
  • 博客积分: 4126
  • 博客等级: 上校
  • 技术积分: 1545
  • 用 户 组: 普通用户
  • 注册时间: 2008-02-22 10:03
文章分类

全部博文(142)

文章存档

2011年(8)

2010年(7)

2009年(64)

2008年(63)

我的朋友

分类:

2008-11-12 16:29:06

因为最近可能要用到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 = "";
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";
}
阅读(1686) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~