首页›文章›通过LWP::Simple 获取网页

通过LWP::Simple 获取网页

计算机技术 · perl 程序开发2013-02-261次浏览0 个评论

LWP ("Library for WWW in Perl" 的缩写) 是用来获取网络数据的的模块组。
如果只是要拿到某个网页,那使用 LWP::Simple 里的函数是最简单的。
通过调用 get($url) 函数,就可以得到相关网址的内容。如果没有发生错误,get 函数返回此网页,否则,返回 undef。例子如下:

perl
  my $url = 'http://freshair.npr.org/dayFA.cfm?todayDate=current'
  use LWP::Simple;
  my $content = get $url;
  die "Couldn't get $url" unless defined $content;
  #  $content 里是网页内容,下面是对此内容作些分析:
  if($content =~ m/jazz/i) {
    print "They're talking about jazz today on Fresh Air!/n";
  } else {
    print "Fresh Air is apparently jazzless today./n";
  }

如果要在命令行里运行,getprint 函数非常方便。如果没有发生错误,它会把网页内容输出到 STDOUT,否则将会有错误信息输出到 STDERR。 例如:

text
   % perl -MLWP::Simple -e "getprint 'http://cpan.org/RECENT'"

上面的网址指向一个文本文件,列有最近两个星期内 CPAN 更新过的文件。如果想要知道 Acme:: 的模块是否有更新,有就email 自己,你可以把它和 Shell 结合到一起来实现。如下:

perl
  % perl -MLWP::Simple -e "getprint 'http://cpan.org/RECENT'"  /
     | grep "/by-module/Acme" | mail -s "New Acme modules! Joy!" $USER

评论

0

评论加载中…

发表评论

0/2000