【发布时间】:2016-04-23 17:17:34
【问题描述】:
我目前正在使用Mojo::DOM 解析一系列网页,而我继续浏览网页的唯一标准是是否在其中找到元素。
我的 DOM 对象是这样构建的:
my $urlMJ = Mojo::URL->new($entry->link);
my $tx = $ua->get($urlMJ);
my $base = $tx->req->url;
my $dom = $tx->res->dom;
my $divVideo = $dom->find('div#searchforme');
我的问题是,我怎么知道$divVideo 是否为空?
我意识到,从 SRI (Riedel) 回答的关于 google groups 和 grokbase 的这个问题中,如果 find 不匹配任何元素,它会返回(如果我理解正确的话)DOM 对象集合启动find 和一个空的 DOM 集合,这恰好是结果。
我想过使用each 来获取其中的空DOM集合,但是返回的DOM不会包含初始DOM结构吗?
我尝试过使用if (defined($divVideo)),我也尝试过使用print Dumper($divVideo) 倾倒。它返回的只是$VAR1 = bless( [], 'Mojo::Collection' );
我试过$dom->find('div#searchforme')->size,返回值是0,甚至那些不属于这一类的网页。
有人可以帮帮我吗?
我的处理方法有问题吗?
【问题讨论】:
标签: html perl dom mojolicious