スパイダーメモ

昨日の日記で触れた大き目のスパイダーの準備をした。といっても、フォームのサブミットの段階が終わっただけだが。以下備忘録。

ページ内のフォームの名前とデフォルトの値の一覧

フォームに関しては、以下のような感じでそのページにどのようなフォームがあり、デフォルトの値が何か確認できる。

use LWP::UserAgent;
use HTML::Form;

my $ua = LWP::UserAgent->new;
my $response = $ua->get("http://sample.sample/sample.html");
my @forms = HTML::Form->parse($response->decoded_content,$response->base);

my $form = $forms[0];#フォーム番号の選択
my @inputs = $form->inputs;

for (@inputs){
print $_->name,"\t",$_->value,"\n";
}

multiple 属性のあるselect

ひとつだけ選択するときでも

$mech->select($name,\@list);

としないとうまく動かない。

Tamper Data

FirefoxのアドオンTamper Dataは、スパイダーの準備としてとても便利。postでsubmitした内容を表示してくれる。