【问题标题】: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 中,这个变量是空的。

有什么想法吗?

【问题讨论】:

  • 您可能需要设置user-agent

标签: 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;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-12
    • 1970-01-01
    • 2011-02-12
    • 2018-02-21
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多