WWW-Mechanize-1.02 > WWW::Mechanize::Cookbook
名前¶
WWW::Mechanize::Cookbook - WWW::Mechanizeを使ったレシピ
Introduction¶
まず、これらの多くはLWP::UserAgentだけを使ってできることを知って おいて下さい。WWW::Mechanize
はLWP::UserAgentのサブクラスなので、 LWP::UserAgent
の動作はおそらくWWW::Mechanize
の動作です。 libwww-perlに同梱されているlwpcookを参照してください。
Basics¶
mechの生成¶
use WWW::Mechanize;
my $mech = WWW::Mechanize->new( autocheck => 1 );
autocheck => 1
で、Mechanizeに何らかのIOの失敗があればdieする ように告げていますので、手作業でチェックする必要はありません。こうした 方が簡単でしょう。もし自前のエラーチェックをしたければ、これを取り 去ってください。
ページの取得¶
$mech->get( "http://search.cpan.org" );
print $mech->content;
$mech->content
はWebページからの生のHTMLデータを含んでいます。 これはcontent
メソッドを通しているだけで、まったく解析もハンドリング もされていません。
ページをファイルに取得¶
時には結果を直接ファイルにダンプしたいと思うこともあるでしょう。 例えば、直接書き出したいと思っているJPEGファイルをメモリ上に読み込む 理由はありません。こうすると大きなファイルを扱う際のメモリ使用量の面で 助かります。
$mech->get( "http://www.cpan.org/src/stable.tar.gz",
":content_file" => "stable.tar.gz" );
リンク¶
全ての画像リンクの検索¶
JPEG、GIF、あるいはPNGを指す全てのリンクを検索。
my @links = $mech->find_all_links(
tag => "a", url_regex => qr/\.(jpe?g|gif|png)$/i );
全てのダウンロードリンクの検索¶
"download"という単語を含む全てのリンクを検索。
my @links = $mech->find_all_links(
tag = "a", text_regex => qr/\bdownload\b/i );
Author¶
Copyright 2004 Andy Lester <[email protected]>