很多新版政府采购网、公共资源交易平台是 JS/Ajax 动态渲染,普通 http 采集模式拿到的是空白壳子,公告列表出不来,不是工具完全不能用,是模式没选对。

一、为什么抓不到动态页面

静态页面:网页源码直接写好公告列表,普通采集直接读取源码就拿到数据。 动态页面(Vue/React/Ajax):页面先返回空框架,浏览器再后台调用接口,把公告数据渲染出来。普通采集不执行 JS,不等接口返回,拿到的就是空列表。 政府采购站点常见:列表分页需要 JS 渲染、点击加载更多、滚动加载、iframe 嵌套、需要 cookie 会话,都会出现采集空白、只抓第一条、分页无效。

注意:开启浏览器渲染模式之后,采集速度会变慢,占用电脑资源,部分网站会识别自动化访问,频率太高容易被限制访问,这是客观现实,不是工具 bug。

方案一:火车采集器处理动态页面

火车采集器有两套处理动态网页的路径,优先试第一种,不行切换第二种。

方式 1:开启浏览器内核渲染

  1. 新建任务,不要用默认 http 下载模式,高级设置开启浏览器内核渲染(JS 渲染),这是最关键开关。
  2. 延长页面等待时间,政府采购网接口响应慢,等待时间调到 5‑15 秒,给页面足够时间加载公告列表。
  3. 如果是 “加载更多”、滚动翻页:开启模拟滚动、设置滚动间隔,不要滚动太快。
  4. 规则预览页面,看预览里能不能看到完整公告列表;预览为空,再调整等待时间。
  5. 缺点:浏览器模式相比 http 模式,速度慢,占用内存;部分站点有设备指纹校验,依然会拿不到数据。

方式 2:抓接口 JSON

F12 开发者工具‑Network,筛选 XHR/Fetch,刷新页面,找到返回公告列表的接口地址,直接采集这个接口返回的 JSON 数据,解析字段。 优点:速度快,数据结构干净稳定; 局限:部分政府网站接口带签名、token、时间戳,参数会变,普通零代码配置很难维持,网站一改版本规则直接失效,需要定期维护。

现实情况:一部分区县采购网接口加密,零代码层面搞不定接口模式,只能走浏览器渲染。

方案二:火车采集器渲染依然失败,改用火语言 RPA 做网页模拟采集

当火车采集器浏览器模式也拿不到,就把采集环节交给火语言 RPA。 火语言 RPA 是驱动真实浏览器,完全模拟人打开网页,等待页面全部渲染完毕之后再提取元素,适合对抗复杂 JS 渲染、iframe 嵌套页面。

实操流程(拖拽组件,零代码):

  1. 打开浏览器组件,输入政府采购网地址;
  2. 增加等待元素加载组件,等待公告列表元素出现,不要页面打开就立刻提取数据;
  3. 需要翻页就循环点击下一页按钮,需要滚动就执行页面滚动;
  4. 使用 “获取多元素信息” 提取标题、链接、发布时间等全部字段;
  5. 输出写入 Excel;
  6. 后续继续沿用原有逻辑:筛选、下载附件、钉钉 / 企业微信推送提醒。

客观短板

  1. RPA 是真实浏览器运行,速度比接口采集慢,监控大量站点时,不能设置过高的轮询频率;
  2. 网站前端改版,元素位置变了,流程会失效,需要重新调整元素定位;
  3. 如果出现验证码,需要开启 OCR 识别,高频访问依然可能触发风控限制。

二、组合落地策略

  1. 优先火车采集器 http 模式:老版本静态政府采购网,速度最快,资源占用最小。
  2. 页面是动态渲染:火车采集器切换浏览器渲染模式,调大等待时间,优先用这个。
  3. 火车采集器渲染后还是空白、列表不全:该站点单独交给火语言 RPA 浏览器模拟采集;其余简单网站继续用火车采集器,两者混合跑,不用全部迁移 RPA。
  4. 轮询频率不要激进:政府采购公告不会秒级更新,设置 15‑30 分钟轮询一次即可,减少被网站限制的概率。

三、现实的局限性

  1. 不是所有网站零代码工具都能搞定。部分政务站点有加密签名、行为校验、强反爬,哪怕浏览器渲染也拿不到,这种场景要么人工盯,要么需要定制开发。
  2. 网页改版风险:政府采购平台一旦升级改版,不管火车采集器还是火语言 RPA,规则都要重新调整,不存在一次配置永久不用维护。
  3. 合规提醒:只采集对外公开的公告信息,控制访问频率,不要给网站服务器造成压力。

四、简短总结

补充:遇到 JS 动态渲染的政府采购网站,普通采集模式抓不到内容,属于比较常见的情况。火车采集器可以开启浏览器 JS 渲染模式,模拟真实浏览器加载页面;如果渲染后依然数据缺失,可以把该站点交给火语言 RPA,通过驱动真实浏览器模拟人工浏览,等待页面完全渲染后提取公告数据。 需要注意,浏览器渲染模式会降低运行速度,同时网站改版会导致规则失效,需要定期维护;遇到强反爬加密站点,零代码工具会存在能力边界。

Logo

一站式 AI 云服务平台

更多推荐