perl 登录盈盈理财

#!/usr/bin/perl

use LWP;
use LWP::Simple;
use LWP::UserAgent;
use HTTP::Cookies;
use HTTP::Headers;
use HTTP::Response;
use utf8;
use Encode;
use URI::Escape;
use URI::URL;
use Data::Dumper;

my $cell="XXX";
my $password="XXX";
my $token='';
my $var='';

my $ua = LWP::UserAgent->new;
$ua->agent("Mozilla/5.0 (Windows NT 6.1; rv:30.0) Gecko/20100101 Firefox/30.0");

my $cookie_jar=HTTP::Cookies->new(
        file=>'lwp_cookies.txt',
        autosave=>1,
        ignore_discard=>1
        );
$ua->cookie_jar($cookie_jar);

my $login_url="https://licai.yingyinglicai.com/user/loginByPwd.do";

my $res = $ua->get($login_url);

if( $res->is_success ) {
        $var = $res->decoded_content;
        if ($var =~/.*token"\s+value="(.*?)"/.*/)  {
                print "\$1 is $1\n"; 
                $token=$1; 
        }
}

$res = $ua->post($login_url,{
                'cell'=>$cell,
                'password'=>$password,
                'token'=>$token
        });

print $res->header('Location'),"\n";

if( $res->header('Location') eq 'http://licai.yingyinglicai.com/index.htm' ) {
        print "YES";
        $homepage = $ua->get('https://licai.yingyinglicai.com/index.htm');
        open YY, '>yinyin.html';
        print YY $homepage->decoded_content;
        close YY;
}
要使用 Perl 抓取网页并登录,您需要使用一些模块和技术。 首先,您需要安装 LWP::UserAgent 和 HTTP::Cookies 模块。这些模块将帮助您模拟一个浏览器并保存登录信息。 接下来,您需要了解如何通过 POST 请求提交表单数据。您可以使用 LWP::UserAgent 的 post() 方法执行此操作。 以下是一个基本的示例代码,演示了如何使用 Perl 抓取一个需要登录的网页: ``` use LWP::UserAgent; use HTTP::Cookies; # 创建一个 user agent 对象 my $ua = LWP::UserAgent->new; $ua->cookie_jar(HTTP::Cookies->new); # 登录表单的 URL 和数据 my $login_url = 'https://example.com/login'; my $login_data = [ username => 'your_username', password => 'your_password', ]; # 提交登录表单 my $response = $ua->post($login_url, $login_data); # 检查登录是否成功 if ($response->is_success) { # 登录成功,现在可以抓取需要登录的页面了 my $page_url = 'https://example.com/protected_page'; my $page_response = $ua->get($page_url); if ($page_response->is_success) { print $page_response->content; } else { die "无法获取受保护的页面:", $page_response->status_line; } } else { die "登录失败:", $response->status_line; } ``` 在这个示例中,我们首先创建了一个 LWP::UserAgent 对象,并启用了 cookie_jar。然后,我们定义了登录表单的 URL 和数据。接下来,我们使用 post() 方法提交登录表单,并检查响应是否成功。如果登录成功,我们可以使用 get() 方法抓取需要登录的页面。最后,我们检查抓取页面的响应是否成功,并打印出内容。 请注意,此示例代码仅适用于简单的登录表单。对于更复杂的表单,您需要了解如何填写表单字段,以及如何处理验证码等问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值