最终我决定经过webbrowser模拟登录支付宝,获取数据。根据业务需求,我须要把获取支付宝的数据作成接口,供业务去调用。难点在于如何能够稳定的切换帐号,而且保证服务24小时可用。须要处理一系列的异常和超时。缺点是这边变成单线程,登陆获取数据只能一个进行完了再进行下一个。还有就是异地登录会各类验证,经常使用地登录彻底没问题!而后破解ua算法也能够经过截获的ua的方式。web
简单列下登陆流程算法
爬虫服务 接口线程
1调用获取验证码接口,向队列中添加一个登陆请求,等待(提示有几人排队)blog
2从队列获取一个登陆用户接口
3进入登陆首页,保存验证码图片,等待用户输入帐号密码 返回图片验证码 队列
4输入帐号、密码和验证码,调用登陆接口图片
5经过轮训的方式,等待接收用户的登陆信息,开始登陆支付宝
6验证是否登陆成功,并判断是否须要短信验证 返回须要短信验证,再次调用登陆接口验证码
获取登陆错误(而后进入步骤2) 返回登陆错误登录
7经过轮训的方式,等待接收短信验证码,进行短信验证
8打开我的资料页面,获取我的信息 返回登陆成功
若是我的信息获取错误 返回登陆异常
9获取其余信息
10抓取其余信息 返回其余信息
11从队列获取下一个登陆用户 ... ...
... ...
后来在登录以后几分钟后会被强制退出和在切换用户登录方面还得完善,公司也未采用,就只写了个demo