我创建了一个 perl 脚本来使用 HTML::TableExtract 从网站上的表中抓取数据。
它可以很好地为不安全的站点(即 HTTP 站点)转储表数据,但是当我尝试 HTTPS 站点时,它不起作用(tables_report 行只是打印空白..它应该打印一堆表数据)。
但是,如果我获取该 HTTPS 页面的内容,并将其保存到一个 html 文件,然后将其发布到一个不安全的 HTTP 站点上(并将我的内容更改为指向该 HTTP 页面),则该脚本将按预期工作。
任何人都知道我怎样才能让它通过 HTTPS 工作?
#!/usr/bin/perl
use lib qw( ..);
use HTML::TableExtract;
use LWP::Simple;
use Data::Dumper;
# DOESN'T work:
my $content = get("https://datatables.net/");
# DOES work:
# my $content = get("http://www.w3schools.com/html/html_tables.asp");
my $te = HTML::TableExtract->new();
$te->parse($content);
print $te->tables_report(show_content=>1);
print "\n";
print "End\n";
上面提到的 $content 网站只是示例。这些并不是我真正要提取的网站,但它们的工作方式就像我真正想要抓取的网站一样。
我想一个选择是让我先使用 perl 在本地下载页面并从那里提取,但我宁愿不这样做,如果有更简单的方法可以做到这一点(任何有帮助的人,请不要花费任何疯狂的金额是时候想出一个复杂的解决方案了!)。