当前位置:三门峡市审计局 > 经验介绍 > 文章详情

python审计实用案例

发布时间:2023-05-23 16:41 查阅次数:0 来源:政策科 作者:


“网络爬虫”是现今大数据领域获取数据的核心工具,在审计领域,“网络爬虫”技术为信息整合应用提供了全新的技术路径,在现场审计实施时,有些必要的外部数据获取也比较困难,审计部门在材料真实性审查中,经常面临财务信息、非财务信息搜索整合困难,真实性难以判定,借助外部的应用系统数据能为审计提供极大便利。在开展经济责任审计中,审计事项多且审计年限跨度时间长的原因,各种资料提供比较繁杂,整理资料及思路时间比较长。利用“网络爬虫”工具Python从单位或政府公开网站读取下载多年度部门公开预算表、各种公告、各种动态并整理汇集到EXCEL表里,结合本单位重大事项集中决策表,对掌握该单位业务重点、经济活动动向,起到很重要的作用。同时使审计人员做到心里有数,思路清晰,减轻人工下载附件、汇总核实各种数据工作量。

审计目的:将被审单位网站内多年的交易信息、信息公开、新闻公告、发布的内容和发布时间等一并爬取保存到 EXCEL。再利用查询或检索功能将很快找出审计所要信息和内容,不必一页页翻看。 

步骤一:部署Python环境。安装Python代码编辑器,编辑器好几种,都各有特色,这里主要使用Jupyter Notebook ,Jupyter 适合做数据分析。

步骤二:分析网站网页结构。网站地址为:

'http://gzjy.***.gov.cn/jyxx/moreinfojy.html',关键标签:发布时间<div><table> <tr><td>;发文日期:*年*月*日</td></tr></table></div>;项目名称<title>******</title>

步骤三:编写以下代码:

(一)逐步骤分析网页链接,做运行演示,同时可以在Jupyter里看到网页源代码更容易查看关键信息,为下一步做循环抓取做准备,这一步也可以不必写,但是不熟练的人还是写在前面为好,便于后面的循环核心代码编写调试。

1684831840223.jpg

(二)爬取网页的核心代码,有上述步骤的基础编写循环代码就显得比较直观一些,主要考虑循环语句和语法即可,由于交易信息太多2000多页,这里以前50页为列。 

步骤三:

按照步骤二的方式分别获取交易信息、信息公开、通知公告、工作动态等,利用这些内容和审计事项相结合,在重大决策、营商环境、扶贫工作、预算执行情况等经济责任方面作出准确的审计评价并能发现很多账面难以发现的问题。例如:“关于数字证书(CA)互认功能上线试运行的通知”发布时间为2020年6月18日,4家软件服务公司CA数字证书得以互认,经审计人员进一步了解,该单位之前指定招、投标人购买信安软件服务公司一家的产品,换取该公司对本单位部分软件系统免费的后期技术支持、维护、优化、升级等服务项目;从交易信息公告内容里发现该单位在某个时间段之前指定交纳投标保证金至专户,经进一步查实该单位履行政策不到位未推行银行保函制度。

由于现在很多网站设置了反爬虫机制,如果对比所爬取的数据与原数据差异较大,就要针对性设置访问频率,调整爬虫访问间隔时间,同时避免高峰期爬取数据,在初写调试程序之时尽量选取小范围单页面数据进行测试,减少触发反扒机制,避免增加不必要的麻烦。