为什么我用Perl获取的HTML看起来与我在浏览器中看到的不同?

时间:2011-12-23 03:51:08

标签: perl web-scraping lwp-useragent

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

有什么想法吗?

1 个答案:

答案 0 :(得分: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;
}