编写可维护的Web抓取应用程序的最佳方法是什么?

Ben*_*enj 5 perl screen-scraping webforms html-content-extraction

我刚刚写了一个perl脚本,它登录了我的网上银行,并每天通过电子邮件发送给我我的余额和一个迷你语句.我发现它对跟踪我的财务状况非常有用.唯一的问题是我使用perl和curl编写它并且它非常复杂且难以维护.在我的银行改变他们的网页的几个实例后,我厌倦了调试它以使其保持最新状态.

那么以这样一种易于维护的方式编写这样一个程序的最佳方法是什么?我想在Perl或Java中编写一个很好的精心设计的版本,当银行不可避免地摆弄他们的网站时,它很容易更新.

Bru*_*ine 13

在Perl中,类似的东西WWW::Mechanize已经可以让你的脚本更简单和健壮,因为它可以在以前的网站响应中找到HTML表单.您可以填写这些表格以准备新请求.例如:

my $mech = WWW::Mechanize->new();
$mech->get($url);
$mech->submit_form(
    form_number => 1,
    fields      => { password => $password },
);
die unless ($mech->success);
Run Code Online (Sandbox Code Playgroud)


sin*_*ish 8

的组合WWW ::机械化网站::刮板是两个工具,让我最有成效的.即使世界在关于组合的好文章catalyzed.org


Geo*_*Geo 6

如果我给你一个建议,那就是使用XPath来满足你所有的拼抢需求.避免正则表达式.