保存网页以供perl使用

时间:2015-03-03 16:05:01

标签: json perl webpage

我试图在我的一个perl脚本中保存网页,但目前我无法找到正确保存或获取其内容的方法。

网页内容基本上是一个json文件。

我查找了chrome命令行选项" - save-page-as-mhtml"但我找不到通过他保存地点的方法。

2 个答案:

答案 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)

如果您只想要一个命令行程序来下载和保存网页,请查看wgetcurllwp-request