in reply to My Mechanize script cannot work ?
WWW::Mechanize does not execute any JavaScript. You will have to look at the returned JavaScript and then look what the next URL to fetch will be, and fetch that URL then from the script :
use strict; use WWW::Mechanize; my $mech = WWW::Mechanize->new(); $mech->quiet(1); $mech->get("http://www.thesite.com/sample.asp"); my $content = $mech->content(); $mech->content =~ qr(\.location = "(http://.*?)") or die "Couldn't find anything matching '.location = \"http://...\" +in $content"; my $new_location = $1; print $new_location; $mech->get($new_location); print $content;
If you want to see the "real" behaviour in your browser as well, you have to switch off JavaScript in your browser.
Perl does not yet have a real JavaScript interpreter with the browser DOM, but there is JavaScript.pm and Scripting::JavaScript, both by Claes Jacobson.
perl -MHTTP::Daemon -MHTTP::Response -MLWP::Simple -e ' ; # The $d = new HTTP::Daemon and fork and getprint $d->url and exit;#spider ($c = $d->accept())->get_request(); $c->send_response( new #in the HTTP::Response(200,$_,$_,qq(Just another Perl hacker\n))); ' # web
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: My Mechanize script cannot work ?
by donno20 (Sexton) on Aug 07, 2003 at 10:43 UTC | |
by Corion (Patriarch) on Aug 07, 2003 at 11:51 UTC | |
|
Re: Re: My Mechanize script cannot work ?
by donno20 (Sexton) on Aug 08, 2003 at 06:09 UTC | |
by zengargoyle (Deacon) on Aug 08, 2003 at 06:33 UTC | |
by Corion (Patriarch) on Aug 08, 2003 at 06:36 UTC |