如何使用Perl通过HTTPS下载文件?

时间:2010-01-03 19:02:24

标签: perl https

我想通过HTTPS下载大约200个不同的HTML文件,并从每个文件中提取页面标题,并将标题放入文本文档中。

如何使用Perl使用HTTPS下载文件?我搜索过谷歌,但我找不到很多有用的信息或例子。

2 个答案:

答案 0 :(得分:10)

查看HTML::HeadParser分发HTML::Parser的一部分。它将解析HTML标头,以便您提取<title>标记内容。

对于获取HTML内容,有大量可用的CPAN模块。其中一个模块是LWP::Curl,属于libwww-perl系列。在此网站上搜索many discussions of fetching HTML以了解详情。

要通过HTTPS下载,请查看libwww-perl下的文档。目前在libwww-perl下使用SSL的“标准”方式是Crypt::SSLeay

答案 1 :(得分:3)

查找下载部分信息的好地方是libwww-perl cookbook

这是一些基本的示例代码。它不一定是最好的方法,但假设你有LWP模块(可从CPAN获得),它应该是可行的。

#!/usr/bin/perl

use warnings;
use strict;
use LWP::Simple;

while (my $site = <STDIN>)
{
    my $doc = get $site;
    if (defined($doc))
    {
        if ( $doc =~ m/<title>(.*)<\/title>/i )
        {
           print "$1\n";
        }
    }
}

您可能希望添加更多铃声和口哨声,用于取消文本处理,处理错误条件,与多个线程并行执行请求,伪造用户代理作为Mozilla等等:)

如果您将其保存为titlegrab.pl,并且您在sites.list中有一个网站列表(每行一个网址),则可以将其与$ cat sites.list | perl titlegrab.pl一起使用以查看所有标题。

或..重定向到某个输出文件,例如$ cat sites.list | perl titlegrab.pl > results.txt