我有一個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