Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

www::mechanize::cookbook(3pm) [debian man page]

WWW::Mechanize::Cookbook(3pm)				User Contributed Perl Documentation			     WWW::Mechanize::Cookbook(3pm)

NAME
WWW::Mechanize::Cookbook - Recipes for using WWW::Mechanize 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 the libwww-perl distribution. 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/download/i ); APPLICATIONS
Check all pages on a web site Use Abe Timmerman's WWW::CheckSite http://search.cpan.org/dist/WWW-CheckSite/ <http://search.cpan.org/dist/WWW-CheckSite/> SEE ALSO
WWW::Mechanize AUTHORS
Copyright 2005-2010 Andy Lester "<andy@petdance.com>" Later contributions by Peter Scott, Mark Stosberg and others. See Acknowledgements section in WWW::Mechanize for more. perl v5.14.2 2011-08-05 WWW::Mechanize::Cookbook(3pm)

Check Out this Related Man Page

WWW::Mechanize::TreeBuilder(3pm)			User Contributed Perl Documentation			  WWW::Mechanize::TreeBuilder(3pm)

NAME
WWW::Mechanize::TreeBuilder - Module to optimize WWW::Mechanize and HTML::TreeBuilder use SYNOPSIS
use Test::More tests => 2; use Test::WWW::Mechanize; use WWW::Mechanize::TreeBuilder; # or # use WWW::Mechanize; # or # use Test::WWW::Mechanize::Catalyst 'MyApp'; my $mech = Test::WWW::Mechanize->new; # or #my $mech = Test::WWW::Mechanize::Catalyst->new; # etc. etc. WWW::Mechanize::TreeBuilder->meta->apply($mech); $mech->get_ok('/'); is( $mech->look_down(_tag => 'p')->as_trimmed_text, 'Some text', 'It worked' ); DESCRIPTION
This module combines WWW::Mechanize and HTML::TreeBuilder. Why? Because I've seen too much code like the following: like($mech->content, qr{<p>some text</p>}, "Found the right tag"); Which is just all flavours of wrong - its akin to processing XML with regexps. Instead, do it like the following: ok($mech->look_down(_tag => 'p', sub { $_[0]->as_trimmed_text eq 'some text' }) The anon-sub there is a bit icky, but this means that anyone should happen to add attributes to the "<p>" tag (such as an id or a class) it will still work and find the right tag. All of the methods available on HTML::Element (that aren't 'private' - i.e. that don't begin with an underscore) such as "look_down" or "find" are automatically delegated to "$mech->tree" through the magic of Moose. METHODS
Everything in WWW::Mechanize (or which ever sub class you apply it to) and all public methods from HTML::Element except those where WWW::Mechanize and HTML::Element overlap. In the case where the two classes both define a method, the one from WWW::Mechanize will be used (so that the existing behaviour of Mechanize doesn't break.) USING XPATH OR OTHER SUBCLASSES
HTML::TreeBuilder::XPath allows you to use use xpath selectors to select elements in the tree. You can use that module by providing parameters to the moose role: with 'WWW::Mechanize::TreeBuilder' => { tree_class => 'HTML::TreeBuilder::XPath' }; # or # NOTE: No hashref using this method WWW::Mechanize::TreeBuilder->meta->apply($mech, tree_class => 'HTML::TreeBuilder::XPath'; ); and class will be automatically loaded for you. This class will be used to construct the tree in the following manner: $tree = $tree_class->new_from_content($req->decoded_content)->elementify; You can also specify a "element_class" parameter which is the (HTML::Element sub)class that methods are proxied from. This module provides defaults for element_class when "tree_class" is "HTML::TreeBuilder" or "HTML::TreeBuilder::XPath" - it will warn otherwise. AUTHOR
Ash Berlin "<ash@cpan.org>" LICENSE
Same as Perl 5.8, or at your option any later version of Perl. perl v5.10.1 2010-12-16 WWW::Mechanize::TreeBuilder(3pm)
Man Page