使用perl WWW :: Mechanize处理404和内部服务器错误

src*_*ulo 4 perl www-mechanize http-status-code-404

我正在使用WWW :: Mechanize来抓取网站,它的效果很好,除非有时会出现返回错误代码404或500(未找到或内部服务器错误)的页面,然后我的脚本将退出并停止运行.这真的搞乱了我的数据收集,所以无论如何WWW :: Mechanize会让我捕获这些错误,看看返回了什么样的错误代码(即404,500等).谢谢您的帮助!

oal*_*ers 6

你需要禁用autocheck:

my $mech = WWW::Mechanize->new( autocheck => 0 );

$mech->get("http://somedomain.com");

if ( $mech->success() ) {
    ...
}
else {
    print "status is: " . $mech->status;
}
Run Code Online (Sandbox Code Playgroud)

另外,另外,请看一下WWW :: Mechanize :: Cached :: GZipWWW :: Mechanize :: Cached,以便在测试机器脚本时加快开发速度.