首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Perl - Web::Scraper链接数组

Perl - Web::Scraper链接数组
EN

Stack Overflow用户
提问于 2012-04-16 19:06:47
回答 1查看 1.1K关注 0票数 3

我有这样的代码:

代码语言:javascript
复制
#!/opt/local/bin/perl
use 5.014;
use warnings;
use Web::Scraper;
use Data::Dumper;

my $html = do { local $/; <DATA> };

my $br = scraper {
    process 'div#br-wrap > ul', 'bc[]' => scraper {
        process 'li > a', 'link' => '@href';
    };
};
my $res = $br->scrape( $html );
say Dumper($res);

__DATA__
<html>
<head><title>title</title></head>
<body>
    <div id="content">
        <div id="br-wrap">
            <ul class="br">
                <li><a href="/">Home</a></li>
                <li><a href="/sub/xxx">Sub-xxx</a></li>
                <li><a href="/sub/xxx/cat/name">Sub-Cat</a></li>
                <li><a href="/sub/xxx/item">Sub-Item</a></li>
            </ul>
        </div>
    </div>
</body>
</html>

结果是:

代码语言:javascript
复制
$VAR1 = {
          'bc' => [
                    {
                      'link' => '/'
                    }
                  ]
        };

但是,我在找链接的数组.

代码语言:javascript
复制
$VAR1 = {
          'bc' => [
                    {
                      'link' => '/'
                    },
                    {
                      'link' => '/sub/xxx'
                    },
                    {
                      'link' => '/sub/xxx/cat/name'
                    },
                    {
                      'link' => '/sub/xxx/item'
                    }
                  ]
        };

代码中的错误在哪里?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-16 19:17:24

代码语言:javascript
复制
process 'div#br-wrap > ul > li', 'bc[]' => scraper {
    process 'a', 'link' => '@href';
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10180095

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档