WWW::Mechanize::Cookbook

Section: User Contributed Perl Documentation (3pm)
Updated: 2023-02-14
Index Return to Main Contents
 

NAME

WWW::Mechanize::Cookbook - Recipes for using WWW::Mechanize  

VERSION

version 2.16  

INTRODUCTION

First, please note that many of these are possible just using LWP::UserAgent. Since "WWW::Mechanize" is a subclass of LWP::UserAgent, whatever works on "LWP::UserAgent" should work on "WWW::Mechanize". See the lwpcook man page included with LWP.  

BASICS

 

Launch the WWW::Mechanize browser

    use WWW::Mechanize;

    my $mech = WWW::Mechanize->new( autocheck => 1 );

The "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.  

Fetch a page

    $mech->get( "http://search.cpan.org" );
    print $mech->content;

"$mech->content" contains the raw HTML from the web page. It is not parsed or handled in any way, at least through the "content" method.  

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" );

 

Fetch a password-protected page

Generally, just call "credentials" before fetching the page.

    $mech->credentials( 'admin' => 'password' );
    $mech->get( 'http://10.11.12.13/password.html' );
    print $mech->content();

 

LINKS

 

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 );

 

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 );

 

ADVANCED

 

See what will be sent without actually sending anything

    $mech->add_handler("request_send", sub { shift->dump; exit; });
    $mech->get("http://www.example.com");

 

SEE ALSO

WWW::Mechanize  

AUTHOR

Andy Lester <andy at petdance.com>  

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.


 

Index

NAME
VERSION
INTRODUCTION
BASICS
Launch the WWW::Mechanize browser
Fetch a page
Fetch a page into a file
Fetch a password-protected page
LINKS
Find all image links
Find all download links
ADVANCED
See what will be sent without actually sending anything
SEE ALSO
AUTHOR
COPYRIGHT AND LICENSE

This document was created by man2html, using the manual pages.
Time: 23:25:28 GMT, May 23, 2024