用pywebio做个基于浏览器的App

公司新冠业务要对接东软的疫情信息检测系统,每次都要从管码查到箱码,从箱码查到管内人数,并获取所在采样机构名称,最后汇总成表。听说是东软不给权限,这个事情只能手动一个一个查。
隔壁部门和我比较熟的小姐姐,负责这个事情。最近可能是要查的管多了起来,昨天突然找到我,看能不能帮忙弄下。这里仅简单记录下其中部分内容,便于以后改进。

这个网站需要密码加短信登陆,还有图片验证码,我本身也没啥太多爬虫经验,按照每10分钟登陆一次更新cookie和token/Authorization的方法是行不通了,只好从浏览器复制后手动输入。
有意思的,这网站的cookie搞了个时间戳,访问要和当前时间对上。
形如:

******|1671589062|******
******|1671589224|******

这个网站的tooken/Authorization 一段时间会失效,浏览器访问是有个 token/refresh?t=default 会自动刷新获得的新的tooken/Authorization,但具体过程啥情况,我也看不懂,总之是只能手动复制着凑合用了。如果是selenium那种模拟正常浏览器登陆的方案,估计很好处理,但是我用的request。

为了避免再凌晨5点被叫起来帮忙查数据(这真是帮忙帮到底啊这),做了个输入和展示的页面。再教小姐姐开F12复制粘贴,我滴任务算是完成了。
pywebio的中文文档也比较齐全,可以部署在网页上,也可以做成这种基于浏览器的app。PyWebIO — PyWebIO 1.7.0 文档
之前有捣鼓过一阵python tkinter,现在感觉还是pywebio用起来更快更方便,也更美观,也方便后续有需要去部署到网页上。

另外打包的时候需要根据pywebio官方教程来,建议先用pipenv创建虚拟环境,否则打包后的软件包罗万象,奇大无比。

pipenv shell  #启动环境 
pipenv install  pyinstaller #pipenv安装依赖包
pyi-makespec --onefile xxx.py  -w  #无控制台,单文件应用

#编辑生成的spec文件,修改 Analysis 的 data 参数
#见https://pywebio.readthedocs.io/zh_CN/latest/libraries_support.html#build-stand-alone-app

pyinstaller xxx.spec 
#最终在dist文件夹里会有exe应用

(为了避免不必要的麻烦,就不放出代码细节了,唯一的难题是cookie与token/Authorization的更新,暂时也无法彻底解决,惭愧啊惭愧)


image.png

image.png

你可能感兴趣的:(用pywebio做个基于浏览器的App)