【发布时间】:2019-11-28 06:23:00
【问题描述】:
这个 Perl 脚本的目的是使用 wget 和 Perl 从网页中提取信息。在这种情况下,这是我试图从中提取信息的网站:https://nocable.org/tv-listings/bm95-pomona-ca-91768
我只想显示标题。例如,
2.1 - The Ellen Degeneress Show
4.1 - NBC News
7.1 - Hell's Kitchen
就是这样。
这是我目前所拥有的,但我不确定我这样做是对还是错。任何人都可以帮助或提供一些建议,以仅显示仅带有标题的频道 2.1、4.1 和 7.1 吗?特别是 wget 和 Perl 脚本。感谢任何回应,因为我仍在学习 Perl。
use warnings;
use strict;
use feature 'say';
use LWP::Simple;
use HTML::TableExtract;
use open qw(:encoding(UTF-8) :std);
my $url = ' https://nocable.org/tv-listings/bm95-pomona-ca-91768';
my $page = get($url) or die "Can't load $url: $!";
my $tec = HTML::TableExtract->new();
$tec->parse($page);
foreach my $rowref ($tec->rows)
{
next if not @$rowref;
# Clean up undefined/whitespace/newlines, often found in HTML
my @row = map {
$_ = '' if not defined; # keep undefined fields for formatting
s/^\s*|\s*$//g; #/ leading and trailing whitespace
s/\s+|\n/ /g; # multiple spaces, newlines
$_ # return it
} @$rowref;
say join ' | ', @row;
}
【问题讨论】: