perlでWebクライアント (2)
昨日の続きです。
http://d.hatena.ne.jp/taiyakisun/20120903#1346683242
perlのLWPを使用してWebブラウジングのシミュレートをしようとしていましたが、
このようなことはどうやらWWW::Mechanizeというパッケージを使用すればできそうです。
Mechanizeはperlでブラウザを操作するイメージで
テキストフィールドに値を入力してボタンを押す、というような処理が可能です。
また履歴も持っており、一つ前のページに戻るなどといったこともできるようです。
まだほとんど調べられていないのですが、少しだけメンバについてまとめてみました。
オブジェクトの生成はこのようにして
use WWW::Mechanize; my $mech = new WWW::Mechanize( autocheck => 1 );
メンバは以下のようになります。
get | ページを取得する |
content | 取得したページ内容 |
form_name( フォーム名 ) | フォームを明示的に指定(name属性) |
set_fields( ハッシュ ) | name属性をキー、入力内容をデータとしたハッシュ |
submit_form( リスト ) | フォームのSubmitボタンを押下する |
click | ボタンなどをクリックする |
submit_formは以下のように使用できるようです。
$mech->submit_form( fields => { username => $user, password => $pass, }, button => 'login' );
明日はもう少しMechanizeについて調べていきます。
参考サイト
WWW::Mechanizeを使ってログインページを突破してみる。
http://d.hatena.ne.jp/ki_08/20110222/1298357615
今日のCPANモジュール(跡地)
http://e8y.net/mag/007-www-mechanize/
WWW::Mechanizeのsubmitとclickの違い
http://d.hatena.ne.jp/iizukaw/20080208/p1