用影刀和python,搞定广州市应急管理局的法律法规

in #cn6 days ago

今天,我继续延续昨天的任务(昨天下载了应急管理部的资料):今天用自动化程序下载广州市应急管理局的法律法规文件。广州市应急管理局的法规数量虽然不多,但有些是广州本地特有的,值得收集。可惜的是,广东省应急管理厅的网站一直显示"500 Internal Server Error",进不去,这让我有点小郁闷。

广州市应急管理局的法规页面比较特别,不是直接提供下载链接,而是以网页形式展示内容。这就意味着我不能和昨天一样简单地用下载方式获取文件,得想点别的办法。我原本打算用影刀自动化程序,但觉得可能有点难度,于是灵机一动,决定试试Python。

使用Python的第一步是找到网页元素的定位方式。我打开了应急管理局的法规页面,用F12调试模式找到了需要的元素代码,把它记录下来备用。接着,我求助了我的老朋友ChatGPT,让它帮我写一份Python代码,用来把网页内容复制并保存成Word文档。

ChatGPT很快就写好了代码,我迫不及待地在影刀程序的Python模块中进行调试。调试结果告诉我Request和Word等外部库无法在影刀程序中使用。这让我有点头大,只好退而求其次,改用不需要外部库的方法,将文档保存为TXT文件。再次请ChatGPT修改代码后,程序顺利运行,成功地将文档内容保存为了TXT文件。

就在我以为问题解决时,我突然发现影刀自动化程序右上角有导入外部库的选项。这个发现让我兴奋不已,赶紧将Request和Word的外部库导入。果然,这次成功生成了Word文档。唯一的小遗憾是,文档里的内容和TXT一样,都没有分行,看起来有点乱。

在整个过程中,ChatGPT的表现让我印象深刻。它只出现了一次小错误,将等号误写成了逗号和点号。我把错误反馈给它后,它很快就纠正了。比起一年前,它的水平确实提高了不少。

接下来的任务是将Python模块作为一个整体在影刀程序中调用,需要传入页面链接和文件名作为参数。这里我遇到了一点小困难,因为之前我只学过普通流程的参数传入,对于Python函数的参数传入还不太熟悉。我翻阅了一些学习资料,但没找到明确的说明。于是,我决定自己动手,写了一个简单的加法模块来摸索规则。

经过一番尝试,我终于理解了函数传入传出的规则。我立即对整个自动化程序进行了运行,总体来说还算顺利。只是有些文件内容只有"见附件"几个字,这部分法规算是下载失败了。不过,我还是成功下载了十几个法规文件。

为了方便阅读,我又用Python程序将这些文件合并成一个Word文档,并在开头生成了目录。打开文档后,我发现每个条款都有"第几条"的标记,于是我用批量替换的方法,在"第"字前面加了回车,这样所有内容就整齐地分段了。

到这里,今天的任务基本完成了。我浏览了一下应急管理局的其他文件,发现重要性和普适性不强,就暂时放弃了。等广东省应急管理厅的网站恢复正常后,我再继续这项工作。

回顾今天的经历,我觉得挺有收获的。长时间不用rpa,水平会下降的,老是不知道某个方法在哪里,甚至不知道还能导入python外部库。不过总算是今天搞定了。有一些麻烦就是,可能法律法规收不齐全。

Coin Marketplace

STEEM 0.19
TRX 0.16
JST 0.033
BTC 64261.31
ETH 2787.80
USDT 1.00
SBD 2.66