2

我正在使用 Perl 编写一个 Web 抓取器以从http://www.coupons.com/获取数据 问题是我使用 LWP::UserAgent 获取的 HTML 与我在 Web 浏览器中看到的不同。我对 JavaScript 变量“CouponClubMember”的内容感兴趣,而在我使用 Perl 收到的 HTML 中,这个变量是空的。

有任何想法吗?

4

1 回答 1

4

使用下面的代码,我得到了和我的浏览器一样的东西。我只是设置agent了我的 Firefox 发送的相同字符串并启用了 cookie 处理:

use LWP::UserAgent;

my $ua = LWP::UserAgent->new(
    agent      => 'Mozilla/5.0 (Windows NT 5.1; rv:7.0.1) Gecko/20100101 Firefox/7.0.1',
    cookie_jar => {},
);

$res = $ua->get("http://www.coupons.com");

if($res->content =~ /(CouponClubMember.{300})/) {
    print $1;
}
于 2011-12-23T06:32:53.050 回答