Json 保存网页以供perl使用
我试图在我的一个perl脚本中保存一个网页,但目前我找不到正确保存或获取其内容的方法 网页内容基本上是一个json文件Json 保存网页以供perl使用,json,perl,webpage,Json,Perl,Webpage,我试图在我的一个perl脚本中保存一个网页,但目前我找不到正确保存或获取其内容的方法 网页内容基本上是一个json文件 我查找了chrome命令行选项--“将页面另存为mhtml”,但我找不到一种方法将保存位置传递给他。如果您只需要一个命令行程序来下载和保存网页,请查看,或者。在非常基本的级别上,您可以使用以下方法获得类似的网页: 您可以很容易地将$res->content写入文件,这样可以保存JSON 如果是JSON,您可能会发现使用库解析JSON很有用,并且可能会使用保存解析后的JSON。(
我查找了chrome命令行选项--“将页面另存为mhtml”,但我找不到一种方法将保存位置传递给他。如果您只需要一个命令行程序来下载和保存网页,请查看,或者。在非常基本的级别上,您可以使用以下方法获得类似的网页: 您可以很容易地将
$res->content
写入文件,这样可以保存JSON
如果是JSON,您可能会发现使用库解析JSON很有用,并且可能会使用保存解析后的JSON。(我通常建议将JSON保存为文本,并在每次加载时对其进行解析,但我认为我会提供可存储的
Storable
,因为这是将任意perl数据结构转换为磁盘上对象的一种非常好的方法。)看看,或者如果页面需要JavaScript,或者他们的一个朋友。我们需要更多关于你想要完成什么的细节。基本上,LWP可以获取网页,然后将内容转储到文件中。我需要将网页的内容(json文件)转换成perl中的变量(数组/数组散列/散列)。我有该文件位置的确切url。简而言之,这是对API的请求。所以它会返回一个包含我需要的信息的文本文件。感谢ThisSuitesBlacknotre“您可能会发现使用JSON库解析JSON很有用,并可能使用Storable保存解析后的JSON。”,我认为不存在这样的人。
# 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";
}