目录

招标信息自动整理工作流(二)

上篇文章,我们已经获取了公告详情页信息,并将附件文件下载了下来。

下面,我们就需要根据详情页和附件文件提取出结构化信息。

详情页结构化信息提取

我们将详情页 http 请求返回的文本,通过 html 节点用 selector `#content` 提取正文的html标签,

再用 markdown 节点转换成文本。

接着再用 n8n 自带的 `information Extractor` AI agent 节点,挂一个大语言模型。

可以看到,我们可以自由定义需要的字段名称,以及对它的描述。

AI 会根据我们对字段的描述找出符号的值。

这个只需要一个节点就能完成,非常简单!

附件文件结构化信息提取

虽然我们上面在网页中提取出了公告的结构化信息,

但是有一些要求,比如报名费、保证金等它可以在附件中,

所以,我们还需要对附件的信息也做相同的结构化信息的提取。

只是中间增加了一些判断条件,

比如是否存在附件文件,存在才下载。

是否下载附件成功,成功才读取文件。

判断附件类型,区分 pdf 和 word 文件不同读取。

读取完后再用 information extractor 进行提取。

合并结构化信息

由于我们提取的信息可能有两个(网页和附件),

我们还需要将其合并成一个,保留有值的。

比如我建了一个 code 节点“合并表格信息”来进行合并:

可以将左边两条信息,合并成一个。

整理信息、文件,发送邮件

我们将下面三路:

  1. 导出详情页 word 文件。
  2. 提取详情页结构化信息。
  3. 提取附件结构化信息。

都执行完,连接一个 merge 节点(保证三路执行完毕),

用 set 节点筛选出需要的字段,再连接到 loop 节点上,

进行下一页循环。

Loop Done 后,连接后续的处理流程:

这里主要是将每条 item 信息,按同事的需求进行排序,

并生成 html 格式的表格。

再将本地的文件夹名称重命名添加上序号。

再将附件进行打包压缩。

再用 send email 结点发送出去。

同事收到的邮件信息如图所示(注:仅列示9条示例)

这样我们就将招标信息整理工作完全自动化了。

当然,这中间涉及到 n8n 中节点完成不了的,

我们都使用 code 节点,或者 execute command 节点进行处理,

前者可以运行内置的 javascript/python 代码,

后者可以运行操作系统的所有命令。

这样基本没有什么是不可以干的。