这里简单介绍一下用Perl来实现抓好取网页的源代码,以及用POST的方法来提交表格,并返回结果。难的讲不来,讲讲简单的。
这里讲到的Perl模块有:
use LWP::Simple;
use LWP::UserAgent;
用
1,用
如果只是要拿到某个网页,那使用 LWP::Simple 里的函数是最简单的。通过调用get($url)函数,就可以得到相关网址的内容。
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";
}
非常简单易懂。拿网页内容是容易的,难的是用正则过滤需要的内容。
2,通过 POST提交表格
部分HTML表格使用HTML POST 向服务器提交数据,在这里你可以这样:
$response = $browser->post( $url,
[
formkey1 => value1,
formkey2 => value2,
...
],
);
#!/usr/bin/perl
use LWP::UserAgent;
my $browser = LWP::UserAgent->new;
$protein = "MSSSTPFDPYALSEHDEERPQNVQSKSRTAELQAEIDDTVGIMRDNINKVAERGERLTSI";
my $SUSUI_URL = "http://www.enzim.hu/hmmtop/server/hmmtop.cgi";
my $response = $browser->post( $SUSUI_URL, [ 'if' => $protein, ] );
if ($response->is_success) {
print $response->content;
} else {
print "Bad luck this time\n";
}
通过分析http://www.enzim.hu/hmmtop/html/submit.html的页面可知,这个要提交的input只有一个,就是