Web ::查询和数据提取

时间:2012-03-13 20:52:57

标签: perl web-scraping

我在从网页抓取信息时遇到了问题,这是由某人解决的,但我也希望从该结构中获取数据并将其放入正常的字符串变量中,我评论说这个并被告知要创建一个新问题,所以在这里!

代码:

use Web::Query 'wq';
my $football_matches = wq($mech->content)
    ->find('tr.match')
    ->map(sub {
        my (undef, $e) = @_;
        return 'v' eq $e->find('td.score')->text
            ? [
                $e->attr('id'),
                map { $e->find("td.$_")->text }
                  (qw(tournament dateTime homeTeam score awayTeam prices))
            ]
            : ();
    });
use Data::Dumper; print Dumper $football_matches;

输出:

$VAR1 = [
    ['tn7gc635476', '', ' Mo 12Mar 2012 ', 'Arsenal',   'v', 'Newcastle', '  '],
    ['tn7gc649937', '', ' Tu 13Mar 2012 ', 'Liverpool', 'v', 'Everton',   '  '],
    ['tn7gc635681', '', ' Sa 17Mar 2012 ', 'Fulham',    'v', 'Swansea',   '  '],
    ['tn7gc635661', '', ' Sa 17Mar 2012 ', 'Wigan',     'v', 'West Brom', '  '],
    ['tn7gc635749', '', ' Su 18Mar 2012 ', 'Wolves',    'v', 'Man Utd',   '  '],
    ['tn7gc635556', '', ' Su 18Mar 2012 ', 'Newcastle', 'v', 'Norwich',   '  ']
];

我想做的是把每个日期,主队和客队交给普通变量/阵列。

提前致谢!

1 个答案:

答案 0 :(得分:1)

您可以查看perldscperlref。查找部分数组数组和arrayref