背景
- 由于目前公司业务的发展,需要定时同步各个民宿/酒店平台(途家民宿\美团酒店\携程酒店\飞猪酒店\木鸟)大量的指定账户房东端的订单、房源以及进行及时改价、上下架、开关房等操作。作为登录认证的cookie常有失效的情况,因此急需开发一个维护账户失效自动重连机制的模块。
大致流程图
![]()
技术方案
- 无头浏览器模式:
- 选型: 关于这种方案槽点很多,无论是性能还是可靠性方面有待商榷。初期选型过程中,曾经尝试过pyppeteer或selenium进行开发,但pyppeteer早已停止了维护,selenium也是日薄西山了,因此最终选定的方案是使用puppeteer来完成部分平台的自动登录脚本的开发。
- 流程: 同步脚本不断同步账号数据,若发现cookie失效则把cookie_status状态位置0;自动更新脚本不断扫表,发现失效则用py的subprocess.Popen调用nodejs的阻塞同步脚本并获取返回结果;
- 反馈:目前途家民宿与飞猪酒店均为这种方式,运行稳定;
- 接口方式:
- 该方式避免了滑块和图形验证,但难度较大,其关键是怎么破解并获取除了账号密码外的加密的校验参数,目前携程酒店通过逆向app与frida抓包的方法,能够获取到生成的校验参数,较稳定;
- 接口+人工组合:
- 需要更新cookie时,调用内部接口启动爬虫,然后爬虫再去请求平台的接口获取图形验证码,该方法较简单,木鸟用的该方法;
- 无头浏览器模式+接口+人工混合方式:
- 部分情况下,即使破解了js加密与滑块、验证码等情况,仍需要短信二次验证,此时需要该方案;或者说,登录某大型平台,其cookie是不跨域的但会自动请求跳转并生成新的cookie,目前美团酒店使用该方式。
posted @
2020-12-25 15:02
鞠政_小鞠
阅读(
829)
评论()
收藏
举报