【问题标题】:Why does the HTML I fetch with Perl look different from what I see in browser?为什么我使用 Perl 获取的 HTML 看起来与我在浏览器中看到的不同?
【发布时间】:2019-10-22 15:58:46
【问题描述】:
我正在编写一个使用 Perl 的网络爬虫来从 http://www.coupons.com/ 获取数据
问题是我使用 LWP::UserAgent 获取的 HTML 与我在 Web 浏览器中看到的不同。我对 JavaScript 变量“CouponClubMember”的内容感兴趣,在我使用 Perl 收到的 HTML 中,这个变量是空的。
有什么想法吗?
【问题讨论】:
标签:
perl
web-scraping
lwp-useragent
【解决方案1】:
使用下面的代码,我得到了和我的浏览器一样的东西。我刚刚将 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;
}