我试图在我的一个perl脚本中保存网页,但目前我无法找到正确保存或获取其内容的方法。
网页内容基本上是一个json文件。
我查找了chrome命令行选项" - save-page-as-mhtml"但我找不到通过他保存地点的方法。
答案 0 :(得分:2)
在最基本的级别,您可以使用LWP
# Create a user agent object
use LWP::UserAgent;
use HTTP::Request::Common qw( POST );
my $ua = LWP::UserAgent->new;
$ua->agent("MyApp/0.1 ");
# Create a request
my $req = POST('http://search.cpan.org/search', [
query => 'libwww-perl',
mode => 'dist',
]);
# Pass request to the user agent and get a response back
my $res = $ua->request($req);
# Check the outcome of the response
if ($res->is_success) {
print $res->content;
}
else {
die $res->status_line . "\n";
}
您可以轻松地将$res -> content
写入文件,并保存JSON。
如果它是JSON,您可能会发现使用JSON
库解析JSON很有用,并且可能使用Storable
保存解析的JSON。 (我通常建议只将JSON保存为文本并在每次加载时解析它,但我认为我提供Storable
,因为这是将任意perl数据结构转换为磁盘上对象的一种很好的方法。 )
答案 1 :(得分:1)
如果您只想要一个命令行程序来下载和保存网页,请查看wget,curl或lwp-request。