perl - 使用 www::mechanize 的爬虫

标签 perl web-scraping mechanize

我正在用 perl 编写我的第一个 Scarper,但我遇到了一些问题。我认为当我提交表单时总是一个发布请求。但是我有这个网站,我想从中获取数据,即使它有一个表单,它似乎也只有 get 方法。
另外我不知道如何提交表单,它有带有下拉菜单的字段来选择值。

任何人都可以帮助我一些想法吗?到目前为止,我设法建立到 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";
}

最佳答案

您必须加载一个带有表单的页面,填写输入元素并提交。

通常,您将在浏览器中加载它,然后编写代码来模仿您在键盘上所做的事情。

关于perl - 使用 www::mechanize 的爬虫,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25898713/

相关文章:

Ruby Mechanize 单击不起作用

python - 通过 Python 通过 Webform 运行 CSV 列

perl - `read` 和 `sysread` 有什么区别?

perl - Perl 星号标志有什么作用

database - 在 perl 中选择没有准备好的语句

python - 美汤刮一 table

python - 无法使用不同的代理来执行后续请求

Perl快速检查重叠间隔?

python - 显示警报时从窗口警报中刮取警报文本

ruby-on-rails - 为不使用 Mechanize/Ruby 表单的站点输入登录信息