2

Perlを使用してhttp://www.coupons.com/からデータをフェッチするWebスクレイパーを作成しています 。問題は、LWP::UserAgentでフェッチするHTMLがWebブラウザーに表示されるものと異なることです。JavaScript変数「CouponClubMember」の内容に興味があり、Perlで受け取るHTMLではこの変数は空です。

何か案は?

4

1 に答える 1

4

以下のコードを使用すると、ブラウザと同じものが得られます。Firefoxが送信したのと同じ文字列に設定agentし、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 に答える