Perlを使用してhttp://www.coupons.com/からデータをフェッチするWebスクレイパーを作成しています 。問題は、LWP::UserAgentでフェッチするHTMLがWebブラウザーに表示されるものと異なることです。JavaScript変数「CouponClubMember」の内容に興味があり、Perlで受け取るHTMLではこの変数は空です。
何か案は?
Perlを使用してhttp://www.coupons.com/からデータをフェッチするWebスクレイパーを作成しています 。問題は、LWP::UserAgentでフェッチするHTMLがWebブラウザーに表示されるものと異なることです。JavaScript変数「CouponClubMember」の内容に興味があり、Perlで受け取るHTMLではこの変数は空です。
何か案は?
以下のコードを使用すると、ブラウザと同じものが得られます。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;
}