Python自动录入ERP系统数据

 大家好,我是毕加锁。

今天给大家带来的是用Python解决Excel问题的最佳姿势

文末送书! 文末送书! 文末送书!

 

项目总体情况

软件:Pycharm

环境: Python 3.7.9(考虑到客户可能会有不同操作系统,为了兼容性考虑)

技术库: requests、pandas、Pyqt5等(详见依赖文件)

需求分析

通过对客户需求文档分析和与沟通,大致有以下几个需求:

  • 根据“单号归属”批量向3个接口提交数据

  • 需要一个GUI操作界面

  • 支持不同的业务员登录

总的来说就是一个POST数据提交和GUI开发。

项目实施

1.Post提交

这一块主要用到的就是爬虫技术,万年不变的步骤,都是先分析网页。

1.1登录

通过抓包发现,密码是明文,难度就降低了一半,然后用正确的密码再分析登录成功后的返回。

    def login(self, username: str, password: str):
        """
        登录
        """
        url = "http://cloud.tiamaes.com:11349/erp/portal.bootstrap/SSOLoginAction/login.do"
        data = {
            "_tp_data": '{"parameters":{"userName":' + username + ',"pwd":' + password + '},"rowsets":{},"headers":{},"requestComponent":"0"}'
        }
        data = parse.urlencode(data).replace("+", "")
        resp = requests.post(url, headers=self.headers, data=data, verify=False)
        self.IDENTIFIER = resp.json()["headers"]["IDENTIFIER"]
        return self.IDENTIFIER

发现登录成功后会返回一个“IDENTIFIER”参数,值是加密字符串,这样就很明显,光看字面意思都知道这个肯定有用,所以先记录下来。

1.2接口分析

由于我用的是测试账号,这个账号提交的数据都要删掉,为了不给别人注入太多的无效数据,这里就不再实际录入,以业务代码来说明。

  • 获取车辆信息

通过分析发现,虽然客户给了一部分车辆的信息,但是还有多缺失的信息,需要自己补充。通过抓包发现,在输入车辆编号以后,会发起一个Ajax请求,表单里其他信息就是Ajax请求返回的数据。

评论 84
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毕加锁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值