104 lines
2.5 KiB
Plaintext
104 lines
2.5 KiB
Plaintext
# PODNAME: WWW::Mechanize::Cookbook
|
|
# ABSTRACT: Recipes for using WWW::Mechanize
|
|
|
|
__END__
|
|
|
|
=pod
|
|
|
|
=encoding UTF-8
|
|
|
|
=head1 NAME
|
|
|
|
WWW::Mechanize::Cookbook - Recipes for using WWW::Mechanize
|
|
|
|
=head1 VERSION
|
|
|
|
version 2.03
|
|
|
|
=head1 INTRODUCTION
|
|
|
|
First, please note that many of these are possible just using
|
|
L<LWP::UserAgent>. Since C<WWW::Mechanize> is a subclass of
|
|
L<LWP::UserAgent>, whatever works on C<LWP::UserAgent> should work
|
|
on C<WWW::Mechanize>. See the L<lwpcook> man page included with
|
|
the L<libwww-perl> distribution.
|
|
|
|
=head1 BASICS
|
|
|
|
=head2 Launch the WWW::Mechanize browser
|
|
|
|
use WWW::Mechanize;
|
|
|
|
my $mech = WWW::Mechanize->new( autocheck => 1 );
|
|
|
|
The C<< autocheck => 1 >> tells Mechanize to die if any IO fails,
|
|
so you don't have to manually check. It's easier that way. If you
|
|
want to do your own error checking, leave it out.
|
|
|
|
=head2 Fetch a page
|
|
|
|
$mech->get( "http://search.cpan.org" );
|
|
print $mech->content;
|
|
|
|
C<< $mech->content >> contains the raw HTML from the web page. It
|
|
is not parsed or handled in any way, at least through the C<content>
|
|
method.
|
|
|
|
=head2 Fetch a page into a file
|
|
|
|
Sometimes you want to dump your results directly into a file. For
|
|
example, there's no reason to read a JPEG into memory if you're
|
|
only going to write it out immediately. This can also help with
|
|
memory issues on large files.
|
|
|
|
$mech->get( "http://www.cpan.org/src/stable.tar.gz",
|
|
":content_file" => "stable.tar.gz" );
|
|
|
|
=head2 Fetch a password-protected page
|
|
|
|
Generally, just call C<credentials> before fetching the page.
|
|
|
|
$mech->credentials( 'admin' => 'password' );
|
|
$mech->get( 'http://10.11.12.13/password.html' );
|
|
print $mech->content();
|
|
|
|
=head1 LINKS
|
|
|
|
=head2 Find all image links
|
|
|
|
Find all links that point to a JPEG, GIF or PNG.
|
|
|
|
my @links = $mech->find_all_links(
|
|
tag => "a", url_regex => qr/\.(jpe?g|gif|png)$/i );
|
|
|
|
=head2 Find all download links
|
|
|
|
Find all links that have the word "download" in them.
|
|
|
|
my @links = $mech->find_all_links(
|
|
tag => "a", text_regex => qr/\bdownload\b/i );
|
|
|
|
=head1 ADVANCED
|
|
|
|
=head2 See what will be sent without actually sending anything
|
|
|
|
$mech->add_handler("request_send", sub { shift->dump; exit; });
|
|
$mech->get("http://www.example.com");
|
|
|
|
=head1 SEE ALSO
|
|
|
|
L<WWW::Mechanize>
|
|
|
|
=head1 AUTHOR
|
|
|
|
Andy Lester <andy at petdance.com>
|
|
|
|
=head1 COPYRIGHT AND LICENSE
|
|
|
|
This software is copyright (c) 2004 by Andy Lester.
|
|
|
|
This is free software; you can redistribute it and/or modify it under
|
|
the same terms as the Perl 5 programming language system itself.
|
|
|
|
=cut
|