perl - 无法使用m // g字符串获取数据

时间:2018-04-25 11:14:23

标签: perl

我正在使用此功能,但我没有得到任何东西

    my $maldet = "https://myanimelist.net/anime/35849/Darling_in_the_FranXX";
my $response = $ua->request(HTTP::Request->new(GET => $maldet));
my $rrs = $response->content;
while ($rrs =~ m/<span itemprop=\"name\">(.*?)<\/span>/g) {
my $ANIME_NAME = $1;
print item("ANIME NAME"),("$ANIME_NAME\n");
}

这个原始源代码,我想得到DATA

<span itemprop="name">DATA</span>

请帮助,我需要在我的脚本中编辑

1 个答案:

答案 0 :(得分:2)

帮自己一个忙,don't parse HTML with regexes。虽然在Perl中有几个模块可以正确解析HTML(例如HTML::ParserHTML::TreeBuilder是两个经典),但Mojo::DOM有一个很好的接口,可以与Mojo::UserAgent一起使用:

use warnings;
use strict;
use Mojo::UserAgent;

my $LINK = "test.html";
my $ua = Mojo::UserAgent->new;
my $dom = $ua->get("https://www.example.com/$LINK")->result->dom;
$dom->find(q{ span[itemprop="name"] })->each(sub {
        my $text = $_->text;
        print "<$text>\n";
    });