加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl – 如何让WWW-Mechanize登录Wells Fargo的网站?

发布时间:2020-12-16 06:27:06 所属栏目:大数据 来源:网络整理
导读:我正在尝试使用Perl的 WWW::Mechanize登录我的银行并提取交易信息.通过浏览器登录我的银行(富国银行)后,它会短暂显示一个临时网页,上面写着“请等待我们验证您的身份”.几秒钟后,它会进入银行的网页,我可以在那里获取我的银行数据.唯一的区别是URL包含多个附
我正在尝试使用Perl的 WWW::Mechanize登录我的银行并提取交易信息.通过浏览器登录我的银行(富国银行)后,它会短暂显示一个临时网页,上面写着“请等待我们验证您的身份”.几秒钟后,它会进入银行的网页,我可以在那里获取我的银行数据.唯一的区别是URL包含多个附加到临时页面的URL的“GET”参数,该参数只有一个sessionID参数.

我能够成功地让WWW :: Mechanize从登录页面登录,但它被卡在临时页面上.标题中有一个< meta http-equiv =“Refresh”...标记,所以我尝试了$mech-> follow_meta_redirect,但它也没有让我超过那个临时页面.

任何帮助过去这将是值得赞赏的.提前致谢.

以下是使我陷入临时页面的准系统代码:

#!/usr/bin/perl -w
use strict;
use WWW::Mechanize;

my $mech = WWW::Mechanize->new();
$mech->agent_alias( 'Linux Mozilla' );

$mech->get( "https://www.wellsfargo.com" );
$mech->submit_form(
    form_number => 2,fields => {
        userid => "$userid",password => "$password"
    },button => "btnSignon"
);

解决方法

对不起,我编写Perl已经有好几年了.但是,由于此问题尚未发布“复制和粘贴”答案,以下是如何在Ruby中删除富国银行:

require 'rubygems'
require 'mechanize'

username = 'your_username'
password = 'your_password'

agent = Mechanize.new
agent.user_agent_alias = 'Windows IE 6'

# get first page
page = agent.get('https://online.wellsfargo.com/signon/')

# find and fill form
form = page.form_with(:name => 'Signon')      
form['userid'] = username
form['password'] = password
page = agent.submit form

# find the refresh url
page.body.match /content="1;URL=(.*?)"/
nexturl = $1

# wait a little while and then get the next page
sleep 3
page = agent.get nexturl

# If you have multiple accounts,you can use this. If you just have a single account,you can remove this block
companies = [['Account1','123456789'],['Account2','123456789']]

companies.each do |name,id|
  form = page.form_with(:name => 'ChangeViewFormBean')
  form['viewKey'] = id
  page = agent.submit form

  available_balance = page.search("#cashTotalAvailBalance").text.strip

  puts "#{name}: #{available_balance}"
  sleep 2
end

作品引用:有一个人编写了这个脚本的版本,将其发布到他的代码目录中,然后将整个内容转发给他的博客.他的姓氏是Youngblood或类似的.我在互联网存档/回程机器中找到了源代码并对其进行了修改以实现您在上面看到的内容.所以,感谢Youngblood先生或类似的人,无论你在哪里 – 并感谢教我的元刮技巧!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读