上交所警示函批量下载--如何解决问题?

发布日期:2022-08-23浏览次数:238标签:审计、财会、税务,工商代理、企业管理、咨询服务业

昨天文章有朋友留言让分享下上交所警示函下载的工具,

虽然写这个代码不难,但还是可以和大家分享下思路。

任务拆解

当我们想做一个工具的时候,首先需要梳理出「逻辑」。

也就是先手工操作一遍,把一个大任务拆分成可执行的小任务。

大目标

比如,我们的目标是登录上交所网站,输入“警示函”关键字,点击查询,

点击一个列表页,将显示的PDF下载下来,然后复制其中的文字到我们保存的文件中。

这个流程有好几步,很多人刚开始学习的时候不太意识到这是一个大目标,

你直接对别人说:“哎,把最近几年上交所警示函内容帮我整理出来。”

别人是茫然的,不知道怎么做。

同样的,你自己也不知道,你可能只能在浏览器上搜索:“批量下载上交所警示函”

如果运气好,别人做过,可能会有现成的轮子,否则,你就又卡住了。

要知道,对于一个大目标我们是很难实际落地执行的。

小任务

那么,要想实现我们的大目标,最好的方法就是任务拆解。

获取网页信息(包括PDF下载链接)

下载PDF文件

解析PDF文件

保存数据

当我们能把任务进行拆解后,难度就自然极度下降了,

我们现在只需要针对这4个问题写函数完成。

我们以最简单的解析PDF文件为例,

啊?为什么这个是最简单的?因为之前python提取关键审计事项文章中学过,用pdfplumber库解析PDF

你看4个问题,我们就解决了一个。简单吧?

周而复始

需要注意的是,上交所给的PDF绝大部分是文本的,一小部分的是扫描图片的。

这个代码只能解析文本的PDF,如果你想完全解决,那么我们又可以任务拆解的方法,

3.解析PDF问题分解为:

3.1解析文字类PDF

3.2解析扫描类PDF

啊?扫描类的PDF文件我又怎么解析呢?

要么你在浏览器上搜索下有没有这个解决办法。

要么我们再进一步拆解,我们可以把扫描的PDF保存为一张张图片,再用OCR去识别图片

3.2.1PDF拆分成图片

3.2.2OCR识别图片为文字

每一个如果不会,就去搜索解决,搜索没有直接答案的,就看能不能拆成更小的任务,

循环往复,直到找到解决问题的方法。

搜索问题及笔记记录

通过上面的步骤,我们能把一个复杂任务转换为简单任务。

这也是数学中的化归思想。

这些简单任务,有些我们可能已经会了,有些可能不会。

对于不会的,我们就需要去检索了,也就是问「度娘。」

这个真就是熟能生巧了,查得多了,就有技巧了,基本小的问题你都能解决。

当你查到后,一定要把有价值的问题,记录到你的笔记中,

你看上次我们在“python提取关键审计事项”的文章中用到的pdfplumber

今天又用上了。

查一次你可能会忘记,当你记录下来,下次遇到你就节约了检索的时间,

多遇到几次,你就彻底掌握了,这个就是知识习得的过程。

完整代码

其实代码并不重要,有需要的可以自己拿来练习、练习。

由于解析的PDF文字很多,直接输出成Excel会串行,所以我是在第4步保存数据的时候,

把数据保存在数据库中,然后把数据库的表导出成Excel

为了让读者能执行代码,我把上传数据库的代码注释了,但是解析的content你就看不到。

如果你会mysql数据库,可以把取消注释代码。

如果你想查询其它的关键词,下载PDF,可以修改这行代码的关键词:

infos=get_download_urls('警示函')

文件信息及PDF下载

我把下载好的信息和PDF也打包分享大家,有需要的可以直接下载:

https://pan.baidu.com/s/1tTErvLvPgo0R30WTP9nUvA?pwd=k3sr

来源:审计之家

事务所
手机端
关注官方微信
共绘网
手机端
关注官方微信
服务电话

全国统一服务热线:

0755--83487163 / 82911663

QQ在线