Perl无法从html页面获取内容,而该页面具有所有必需的标记

2024-05-15 21:21:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试构建一个redfinapi,在这里我尝试使用LWP::Simple获取这个链接的内容

Redfin Link

结果我得到的内容,没有学校的底气。我想要的是一个“柳树格伦中学”,我有另一个API,它将接受这篇文章的输入,并返回一个准确的API分数。你知道吗

我用Python做了同样的尝试,结果还是一样,下面我用perl转储了一段代码。不管哪一个可行,我都要。你知道吗

现在它只有一个简单的代码:

use LWP::Simple;

$content = get("https://www.redfin.com/CA/San-Jose/947-Hummingbird-Dr-95125/home/1309375#schools");

print "Call API" if($content =~ /Willow Glen Middle School/);

Tags: 代码api内容链接linkcontentsimple分数
1条回答
网友
1楼 · 发布于 2024-05-15 21:21:31

你得不到学校的成绩是因为没有学校的成绩。页面的内容是使用javascript填充的,而您的get方法给出HTML而不使用javascript处理。您需要使用类似于WWW::Mechanize::Firefox的东西来让您的示例工作。但是请注意,LWP的速度要慢得多。你知道吗

下面是一个示例代码

#use LWP::Simple;
use WWW::Mechanize::Firefox;
my $mech = WWW::Mechanize::Firefox->new();
$mech->get("https://www.redfin.com/CA/San-Jose/947-Hummingbird-Dr-95125/home/1309375#schools");
#print $mech->content;

if($mech->content=~/Willow Glen Middle School/){
        print "ya\n";
}

相关问题 更多 >