Aza*_*hal 4 perl www-mechanize
我目前正在研究Perl脚本,我使用CPAN模块WWW:Mechanize来从网站获取HTML页面.但是,我希望能够处理离线HTML文件(我最有可能预先保存自己),所以每次我尝试新脚本时都不需要互联网.所以基本上我的问题是如何改变这个:
$mech->get( 'http://www.websiteadress.html' );
Run Code Online (Sandbox Code Playgroud)
进入这个:
$mech->get( 'C:\User\myfile.html' );
Run Code Online (Sandbox Code Playgroud)
我见过那个文件://可能有用,但我显然不知道如何使用它,因为每次都会出错.
get()WWW :: Mechanize中的方法将URL作为其参数.因此,您只需要确定本地文件的正确URL.你使用"file://"方案就行了.
我想你需要:
$mech->get( 'file:///C:/User/myfile.html' );
Run Code Online (Sandbox Code Playgroud)
请注意人们经常出错的两件重要事情.
/),因此您需要转换Windows'扭曲的反斜杠(\)怪物.更新:正如Borodin在评论中指出的那样,事实并非如此 - 您可以在URL中使用反斜杠.但是,反斜杠通常在Perl字符串中有特殊含义,所以我建议尽可能使用正斜杠.file,后跟://(带两个斜杠),然后是主机名(一个空字符串)斜杠(/),然后是你的本地路径(C:/).这意味着之后有三个斜杠file:.这似乎是错误的,所以人们经常省略其中一个.更新:根据Borodin的评论,提供更准确的描述.维基百科(一如既往)拥有更多信息 - 文件URI方案