0

以前WWW::Mechanizeはサイトにログインしていました。

ログインしたので、WWW::Mechanizeスクリプトを作成payments.phpしてアクティブなユーザー サブスクリプション (VIP アクセスなど) (クラス: <p class="description">) を見つけます。

これから、それが何であるかを読んで、正しいアクションを選択したいと思います。たとえば、パッケージの状態がユーザーの場合VIP Smallは印刷PKG: VIP Smallし、パッケージの状態がユーザーの場合VIP Fullは印刷しますPKG: VIP Full

これを行う方法を知っている人はいますか?これまでに使用されたコード (私の Ubuntu 仮想マシンでコーディングされています):

#!/usr/bin/perl

use WWW::Mechanize;

my $forum = "http://localhost/forums/forum.php";

print "Username\r\n";
my $username = <>;
chomp($username);

print "Password\r\n";
my $password = <>;

# do login
my $mech = WWW::Mechanize->new(agentcheck => 1, agent => 'Perl WWW::Mechanize');
$mech->get($forum);
$mech->submit_form(form_number => 1, fields => { vb_login_username => $username, vb_login_password = $password });

print "this far";
$mech->follow_link(text => "Click here if your browser does not automatically redirect you.");
4

2 に答える 2

1

私はあなたが必要だと思います

$mech->get('http://localhost/forums/payments.php');

しかし、ページの HTML を見ずにそこから情報を取得することはできません。

于 2013-02-19T04:04:53.707 に答える
1

結果の HTML ファイルを解析する必要があります。このようなタスクには HTML::TreeBuilder::XPath を使用することをお勧めします。

my $tree = HTML::TreeBuilder::XPath->new_from_content( $mech->content() );

my ($description) = $tree->findvalues('//p[ @class = "description" ]');
于 2013-02-19T04:11:30.370 に答える