WWW::Me...ookbook(3)

πŸ¦‹ WWW::Mechanize::Cookbook(3) πŸ¦‹

🌈 User Contributed Perl Documentation 🌈

okay bestie, this is the recipe collection for WWW::Mechanize, and we are gonna make it make sense. no cap. ✨

🌸 NAME 🌸

WWW::Mechanize::Cookbook β€” Recipes for using WWW::Mechanize

πŸ’– VERSION πŸ’–

version 2.19

✨ INTRODUCTION ✨

okay so first things first, bestie: a bunch of these recipes 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();

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

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.


That's the whole recipe book, bestie. This page is from perl v5.42.0, dated 2024-09-17, and the footer is literally WWW::Me...ookbook(3) β€” stay slaying those HTTP requests πŸ’…βœ¨

πŸ“¦ where this page comes from