結果だけでなく過程も見てください

日々の奮闘を綴る日記です。

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

プライバシーポリシー お問い合わせ