我有一个perl脚本,浏览网站上的两个表单页面,以便将最终表单提交的结果下载到文件中。这个页面非常大,我宁愿把它直接写到磁盘上,而不是把所有东西都放在内存中。perl WWW :: Mechanize submit_form()直接写入文件?
这里有一个代码片段:
$mech->submit_form(
form_name => 'search',
fields => {
"srch_recd" => $cfg{max_rows}, #results per page
}
);
$mech->save_content($workdir.$cfg{cachedstones});
我知道我能做到这一点:
$mech->get($url, ":content_file"=>$tempfile);
才能有使用GET时,结果去到一个文件中()。但是,这样做对submit_form()没有效果。
如何才能让submit_form()直接进入场景而不是坐在内存中? content_file标志得到(),这是LWP ::用户代理的一部分:
http://stackoverflow.com/questions/2263662/how-can-i-download-a-file-using-wwwmechanize-or-any-perl-module或http://stackoverflow.com/questions/1727923/how-do-i-download-a-file-with-wwwmechanize-after-it-submits-a-form –
我看到了这些问题,但他们并没有完全解决同样的问题。代码我已经有作品了。我提交表单并获得一个结果页面,我用'$ mech-> save_content($ workdir。$ cfg {cachedstones})'保存。但是,这个页面非常大,浪费了不可接受的内存量。我想优化我的脚本,以便在结果页面进入时写入文件。 – Jessa