复制粘贴的方式代替了python代码,获取法律法规文件

in #cn4 months ago

昨晚,我在家里想着如何更高效地获取法律法规文本,随即上网寻找可以下载相关文件的网站。于是决定问一下ChatGPT,它是否能帮我找到更多的资源。果不其然,ChatGPT给出的内容丰富。通过它提供的链接,我成功找到了北大法律数据库,这个网站不但收录了各种法律法规和规章制度,还详细标注了每个法律的修改时间。打开网站后,我发现可以选择AI版本来查询,也可以浏览只有法律法规条文的纯净版本。

看到这些内容,我马上联想到广东省应急管理厅的法律法规页面,并觉得可以利用Python的requests库将这些文本自动摘取下来。30日一到办公室,忙完其他工作事项后,我立刻开始动手实施这个想法。首先,我写了一个自动化程序,用于打开网页,这是比较简单的一步。接下来,当我打算使用Python代码摘取网页中的文本时,我按以往的经验,使用谷歌浏览器的开发者模式(F12)定位到需要的文本内容,并将这些定位信息应用到Python代码中以进行数据摘录。

然而事情并没有我想象得那么顺利。北大法律数据库对于数据的保护措施非常严密,我在右侧面板中一直找不到法律文本的位置。经过反复尝试,我终于发现了文本的位置,但它被标记为隐藏文本(<input type="hidden" value=".....)。这让我有些无奈,于是我再次求助ChatGPT,问它有没有办法处理这种隐藏的文本。ChatGPT很快给出了建议,并帮助我写了一段Python代码。我在VS Code上模拟运行了一下,但第一次尝试以失败告终。随后,我打开了北大法律数据库
几个其他类似的网页,想找找看有没有相似的特点。经过仔细观察,我发现这些文本元素的一个共同特点是(/html/body/input[56])。

于是,我把这个特点告诉ChatGPT,试图通过这种方式定位文本。我尝试了三四次,但每次都失败了,程序反馈“未能找到正文内容。”
后来,我意识到开发者模式中的定位参数是会变化的,短时间内通过这种方式获取数据可能有点困难。于是,我决定退而求其次,关闭开发者模式,转而使用键鼠自动化程序操作。我选择了全选并复制粘贴到Word文档中,出乎意料的是,粘贴结果非常理想,中间的法律法规条文非常完整,只是前后有些杂乱无章的文本。

在这个过程中,我也发现了一些规律,比如删除某个特定字段前的内容就可以保持条文的完整性,尾部的一些文本也有相似的特点。于是,我请ChatGPT帮助我写一个Python代码,将这些文本处理步骤整合到一个模块中,作为影刀程序的一部分进行调用。运行后,结果非常成功。很快我的文件夹里就生成了一堆法律法规文件,每个文件还包含了生效的时间。这个自动化处理的过程实在是太棒了
明天再看下能否下载更多的内容。