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

Perl cannot get content from html page, while the page has all the necessary tags

我正在尝试构建一个 Redfin api,我正在尝试使用 LWP::Simple 获取内容,为此 link

Redfin Link

我在结果中得到的内容,没有学校的细节。我想要的是一个 "Willow Glen Middle School",而我有另一个 API,它将接受此文本的输入和 return 具有精确的 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/);

你没有得到学校的成绩是因为没有学校的成绩。页面内容使用 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";
}