首页 电脑 电脑学堂 查看内容

LWP简介和简单使用其获取网页内容

2009-8-18 09:56 1112 0

摘要:   简介   LWP ("Library for WWW in Perl" 的缩写) 是一个由多个模块组成,用来获取网络数据的的模块组。 和很多 Perl 的模块一样。每一个 LWP 模块都自带详细...
关键词: nbsp 函数 模块 LWP 如果 网页 Simple content 内容 Perl

  简介   LWP ("Library for WWW in Perl" 的缩写) 是一个由多个模块组成,用来获取网络数据的的模块组。 和很多 Perl 的模块一样。每一个 LWP 模块都自带详细的文档,做为对这个模块的完整介绍。可是面对 LWP 里的众多模块,有时候即使是完成最简单的工作,新手们也常常不知道从那里开始。   要对 LWP 做全面的介绍需要一整本书,很幸运,Perl & LWP 已经出版。而这篇文章向你介绍了最常见的 LWP 用法。   如果只是要拿到某个网页,那使用 LWP::Simple 里的函数是最简单的。   通过调用 get($url) 函数,就可以得到相关网址的内容。如果没有发生错误,get 函数返回此网页,否则,返回 undef。例子如下:   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。 例如:   % perl -MLWP::Simple -e "getprint 'http://cpan.org/RECENT'"   上面的网址指向一个文本文件,列有最近两个星期内 CPAN 更新过的文件。如果想要知道 Acme:: 的模块是否有更新,有就email 自己,你可以把它和 Shell 结合到一起来实现。如下:   % perl -MLWP::Simple -e "getprint 'http://cpan.org/RECENT'"  \     | grep "/by-module/Acme" | mail -s "New Acme modules! Joy!" $USER   LWP::Simple 还有一些非常有用的函数,包括一个运行HEAD请求的函数,用来检查链接是否有效,网页是否更新。另外两个用来保存和镜像网址的函数也值得一提。
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部