我正在尝试构建一个Redfin api,我试图使用LWP :: Simple获取内容,用于此链接
我在结果中得到的内容,没有学校的内容。我想要的是一个" Willow Glen中学"我有另一个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/);
答案 0 :(得分:1)
你没有得到学校的结果是因为没有学校的结果。页面的内容使用javascript填充,而您的get
方法会在不使用javascript处理的情况下提供HTML
。您需要使用类似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";
}