Perl版 WWW::Mechanizeモジュールを使ってみるー。
ブラウジングやWEB関連の作業を自動化したいなーと思って、Perlでどうやったらできるだろうと調べていると必ず行き着くのが
WWW::Mechanize。
メックなんて呼ばれてるこのモジュールは、筋金入りのお手軽ツールらしい。
ということで、早速ドキュメントを読みながら使ってみました。
#!/usr/bin/perl/ -w # #WWW::Mechanize_test #CPANドキュメントを参考にしながらWWW::Mechanizeで遊んでみた use strict; use WWW::Mechanize; use encoding qw(shiftjis); my $url = 'http://headlines.yahoo.co.jp/hl'; my $cate_label = 'テクノロジー'; my $cate_label2 = 'テクノロジー総合'; # WWW::Mechanizeクラスのnewメソッドをもつmechオブジェクトを生成 my $mech = WWW::Mechanize->new(); #Yahooニュースのヘッドラインへアクセスする $mech->get( $url ); # ステータスのチェック print "リクエストは成功しているか?(1/0)\n" . $mech->success() ."\n"; print "リクエストのHTTP statusは?\n" . $mech->status() ."\n"; print "現在のページのURIは?\n" . $mech->uri() ."\n"; print "現在のページのTitleは?\n" . $mech->title() ."\n\n"; #Yahooニュースのテクノロジーへアクセスする $mech->follow_link( text_regex => qr/$cate_label/ ); # ステータスのチェック print "リクエストは成功しているか?(1/0)\n" . $mech->success() ."\n"; print "リクエストのHTTP statusは?\n" . $mech->status() ."\n"; print "現在のページのURIは?\n" . $mech->uri() ."\n"; print "現在のページのTitleは?\n" . $mech->title() ."\n\n"; #Yahooニュースのテクノロジー総合へアクセスする $mech->follow_link( text_regex => qr/$cate_label2/ ); # ステータスのチェック print "リクエストは成功しているか?(1/0)\n" . $mech->success() ."\n"; print "リクエストのHTTP statusは?\n" . $mech->status() ."\n"; print "現在のページのURIは?\n" . $mech->uri() ."\n"; print "現在のページのTitleは?\n" . $mech->title() ."\n\n";
完全に動作確認用のスクリプトなので、なんちゃ役に立ってません。
が、
リンクのテキスト部分を辿って、
目的のページに移動できるあたりが、
か・な・り
便利だーーーー!!