perl 抓取html,用Perl抓取网页和提交表格

这里简单介绍一下用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只有一个,就是

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值