HTML::TableExtract を使用してサイトのテーブルからデータを取得するための perl スクリプトを作成しました。
セキュリティで保護されていないサイト (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 のサイトは単なる例です..これらは実際に私が抽出しているサイトではありませんが、実際にスクレイピングしようとしているサイトと同じように機能します.
私が推測する1つのオプションは、最初にperlを使用してページをローカルにダウンロードし、そこから抽出することですが、これを行う簡単な方法がある場合は、そうしません(助けてくれる人は、狂った量を費やさないでください)複雑な解決策を考え出す時が来ました!)。