| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> python自动化脚本的应用实例分享系列一:进度统计脚本 -> 正文阅读 |
|
[Python知识库]python自动化脚本的应用实例分享系列一:进度统计脚本 |
场景小T负责运维一个业务系统,并辅助做一些运营工作。每个月要从两个不同的系统中找到填报单位的填报状态(已提交,未提交),按照特定的表样和顺序录入到excel表,然后发送到微信群里。 分析
流程图?实现网站A抓取通过chrome浏览器,F12分析network可以得到网站A中各单位填报进度,数据格式是json格式,因此,采用requests,分析参数,获取数据。 需要登录网站A需要登陆,才能找到各个填报单位的进度汇总界面,因此,需要基于selenium自动登录网站,登录后获取cookies,在后续的爬虫函数中再加载cookies,可解决需要登录问题。 登录后获取cookies login函数
getData函数
?爬取主体
补充:分析参数,构建headers中用到的好用工具 一键构造请求头 或可用postman替代,前者新手友好,后者使用更广泛。 网站B数据爬取 网站B比较特殊,通过chrome浏览器,F12分析network,无法获得数据,网站B是一个静态网页,可以考虑换个思路获取网站B的网页html代码,我们所需的进度统计数据,在一个table中,可以通过BeautifulSoup解析网页源代码中的tr,td来得到想要的数据。通过selenium来登录,点击到对应界面,然后获取数据。 ?getDataB函数
难点:只能抓半屏数据 按照上面的方案,发现得到的数据缺失,每次只能抓上半屏的数据,将进度条拉下来后,再解析源代码,是下半屏的数据,将两屏的数据追加在一起,然后去重,即可得到完整的数据。 首先考虑拉进度条的方案,但是不起效果。
下拉完成后,重新上面获取源代码,解析源代码的过程,即可获得新的数据。
截图通过selenium在web相应页面中截图即可。
数据整理将多个分散的中间表按照模板格式汇总成一张表。
更多细节处理,不再赘述。 EXCEL格式处理在excel表中页面下方位置追加文字,说明统计时间和统计标准。
如果未提交,则标黄
设置列宽
总结之前需要手工登录网页,找到数据,然后将数据复制粘贴下来,然后在登录另外一个网站,找到数据,将数据复制粘贴下来,然后再整理表格,时间需要40分钟左右,通过自动化脚本,时间只需要5分钟即可完成。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/27 1:03:40- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |