← 返回信息流
Agent SkillLINUX DO · AI·1 小时前

AI时代爬虫开发新玩法:基于Har文件让AI分析HTTP请求

原标题:AI时代开发爬虫/自动化脚本抓包分析 - 基于 Har

速览

文章提出一种AI时代爬虫/自动化脚本开发新思路:由人工先探索网站并导出Har文件(HTTP Archive格式),再交给AI分析请求细节、时序及依赖关系。相比让AI直接控制浏览器,该方法更省Token、更高效。Har本质为JSON,LLM可直接分析,也可用专用CLI工具快速提取信息。

AI 深度解读

背景

进入2026年下半年,爬虫与自动化脚本开发依然是互联网技术中的重要环节。传统的抓包工具如Reqable、Fiddler或浏览器Dev Tools可以帮助开发者可视化地分析HTTP请求,但这些工具是为人类设计的。在AI Agent时代,AI并不需要可视化图形界面,它需要的是高密度、结构化的上下文信息。因此,如何高效地将HTTP请求的完整历史传递给AI,成为新的痛点。

网络上已有的方案包括:让AI自己控制浏览器(如Web Access/Browser Use),或者使用Firecrawl/Crawl4AI等工具将网页内容转为结构化数据。但前者每步都需要AI思考,耗时长、Token耗费巨大;后者虽然能提取结构化数据,但自动化脚本不仅需要数据,还需要分析请求细节、时序等。因此,需要换一种思路:人类利用自身对网站的快速探索能力,将探索过程中产生的HTTP请求记录下来,直接交给AI分析。

核心内容

原文提出了一种基于Har文件的AI工作流,核心思路是「人工探索 + AI分析」。具体做法是:人类先清空浏览器缓存,手动按预期流程操作被爬网站,触发所有必要的HTTP请求;然后通过浏览器的开发者工具导出Har文件(HTTP Archive格式);最后将这些Har文件交给AI Agent进行分析,提取请求的格式模板、时序、依赖关系等信息,进而生成最终的爬虫或自动化脚本。

Har文件简介

Har(HTTP Archive)是记录浏览器与网站之间HTTP请求和响应的标准文件格式,以JSON存储。每一个Har文件包含一个log对象,其entries数组中记录了每个请求的详细信息:请求方法、URL、头信息、Cookie、查询参数、响应状态码、响应体内容、时间戳、各阶段耗时(send、wait、receive)等。由于Har本质是JSON,LLM可以直接解析;若文件过大,Agent可以调用Python/Node.js CLI工具(内联管道)快速提取关键信息;也可使用专用CLI(如har-skills)进一步节省Token并提高速度。

完整工作流(五个步骤)

  1. 清空浏览器缓存
    确保抓取到的请求历史是完整的,避免因缓存干扰而遗漏关键请求。

  2. 使用浏览器探索网站
    手动按计划执行爬虫/自动化脚本需要模拟的流程:访问页面、点击按钮、提交表单、翻页等,触发所有相关HTTP请求。

  3. 导出Har文件
    在浏览器Dev Tools中将抓取到的HTTP Archive导出为.har文件,保存到工作区(如hars/文件夹)。对于复杂网站,可以分多次导出并为文件语义化命名(如login.harsearch.har)。

  4. 分析清洗Har文件
    利用AI Agent对导出的Har文件进行分析,提取关键信息:

    • 请求格式模板:包括URL、方法、头、参数、请求体结构。
    • 时序与依赖关系:找出Authentication机制(如Token在请求序列中的传递方式)、后一个请求的参数如何从前一个请求的Response中提取。
    • 过滤无用请求:剔除CSS、图片、预加载等无关请求,只保留与目标功能相关的API请求。
    • 输出清洗后的Schema文档(如schema.md)。
  5. 生成爬虫/自动化脚本
    基于上一步得到的schema.md,AI Agent可直接生成符合需求的爬虫或自动化脚本(如Python requests脚本、Playwright代码等)。

工具对比与选型

原文提到,在写作时Reqable官方尚未发布MCP,作者尝试了一个第三方MCP项目(iambond50-svg/reqable-mcp),后来官方MCP也上线了。但官方MCP暴露过多接口,且需要打开Reqable系统代理,可能与其他系统代理(如VPN)冲突,并且某些请求(如requests库发出的请求、pip下载)会有SSL问题。因此,基于Har文件的方法更加轻量、通用,不依赖特定抓包工具。

关键要点

  • 核心思路转变:放弃让AI自主探索网站(慢、费Token),改为人类快速手动探索,再将结果以结构化的Har文件喂给AI分析。
  • Har文件是桥梁:Har作为标准JSON格式,天然适合LLM解析;也可通过CLI工具进一步精简,节省Token。
  • 工作流五步闭环:清缓存→手动浏览→导出Har→AI分析清洗→生成脚本。
  • AI分析的重点:提取请求格式模板、时序依赖(如Token传递)、过滤无用请求(CSS/图片等)。
  • 无需依赖特定抓包工具:浏览器原生支持导出Har,不干扰系统代理设置,无SSL冲突。
  • 可扩展性:对于大型Har,可使用专用Skill+CLI(如har-skills)提升效率,减少Token开销。
  • 适用场景:爬虫开发、自动化测试、API集成脚本等需要模拟浏览器行为的任务。

意义与影响

  1. 降低AI Agent在爬虫/自动化中的成本和延迟
    传统的AI自主浏览模式(Browser Use等)每一步都需要模型推理,消耗大量Token和时间。人工探索+Har分析的方式将探索成本转移给人类(快速且无Token消耗),AI只需一次性分析结构化数据,大幅提升效率和性价比。

  2. 简化抓包工具链
    不依赖特定抓包软件(如Reqable、Fiddler),仅使用浏览器原生功能即可完成数据收集。避免了因系统代理冲突导致的SSL错误或干扰其他网络请求(如pip、requests库)。

  3. 提升生成脚本的准确性与可控性
    人工手动探索可以确保覆盖所有关键流程,而AI从中提取的请求时序和依赖关系精确度更高,生成脚本的鲁棒性更好。同时,通过清洗过滤无关请求,避免AI被噪声干扰。

  4. 推动AI与人类协作的新范式
    该工作流体现了「人类做机器不擅长的事(快速探索复杂UI),AI做人类不擅长的事(大量结构化数据分析、代码生成)」的分工思想。这种模式不仅适用于爬虫,也可推广至其他需要模拟用户操作的任务。

  5. 为标准化工具发展提供方向
    Har文件本身就是W3C标准的HTTP Archive格式,利用它作为AI输入,有利于催生更多围绕Har的AI预处理工具(如CLI解析库、Skill插件),进一步降低开发者使用AI的门槛。

查看原文 →linux.do