使用www :: mechanize的刮板

时间:2014-09-17 19:23:47

标签: perl web-scraping mechanize

我正在用perl编写我的第一个疤痕,我遇到了一些问题。我认为,当我提交表格时总是一个帖子请求。但我有这个网站,我想从中获取数据,看起来只有方法,即使它有一个表格。 此外,我不知道如何提交表单,它有字段和下拉菜单来选择值。

任何人都可以帮我一些想法吗?到目前为止,我设法建立了与URL的连接并获取其内容。我被卡住了。

use strict;
use warnings;

use WWW::Mechanize;
use Data::Dumper;

my $homepage = 'http://bacalaureat.edu.ro//';
my $source;

my $browser = WWW::Mechanize->new();
$browser->agent_alias('Windows Mozilla');
$browser->get($homepage);

if ($browser->success()) {
    $source = $browser->content();
    print "Page Source: \n\n\n" . $source . "\n\n\n";
} else {
    print "Could not access $homepage! Status: " . $browser->status() . "\n";
}

2 个答案:

答案 0 :(得分:0)

您必须加载包含表单的页面,填写输入元素并提交。

通常情况下,您需要在浏览器中加载它,然后编写代码以模仿键盘上的内容。

答案 1 :(得分:0)

此页面上没有标记,也没有提交。此页面只是将您重定向到以下网址:/Pages/JudetRezultAlfa.aspx?jud=$ID其中$ID selJud 字段的值。

所以你需要的是使用你想要的 selJud 解析HTML(获取selJud的值)和下一个$mech->get("http://bacalaureat.edu.ro/Pages/JudetRezultAlfa.aspx?jud=" . $ID)