我测试了15个大语言模型用于网络爬虫,但最终选择了构建启发式算法

发布日期:2026-05-06 10:02:19   浏览量 :0
发布日期:2026-05-06 10:02:19  
0

2026西湖龙井茶官网DTC发售:茶农直供,政府溯源防伪到农户家 

Clura AI 网络爬虫 Chrome 扩展程序在商业目录网站上检测字段

无人提及的问题:600KB 的文档对象模型(DOM)

当我开始构建网络爬虫时,显而易见的做法是将页面发送给大型语言模型(LLM),并要求它提取数据。很简单,对吧?

错。典型的产品列表页面包含 500–700KB 的原始文档对象模型(DOM)数据。将其发送给任何模型都意味着你每页需要支付约 150,000 个令牌(token)的费用,每个请求等待 15–30 秒,并且在处理任何复杂内容时都会触及上下文长度限制。

我在第一页就撞上了这堵墙。

四个月,十五个模型,结果相同

我测试了所有模型:GPT-4、GPT-4o、Gemini 1.5 Pro、Gemini Ultra、Claude 3 Opus、Claude 3.5 Sonnet、Mistral Large、Llama 3 70B、Cohere Command R+,以及一些较小的微调模型。

结果始终如一:

  • GPT-4 / Gemini Ultra:准确,但每页耗时 25–35 秒
  • Claude 3.5 Sonnet:准确性与延迟之比最佳,但仍需 5–10 秒
  • 较小模型:速度更快,但不断产生字段名称的幻觉(即生成错误信息)

没有模型能解决延迟问题,因为我要求它们解决的是一个错误的问题。

预处理器的突破

真正的问题不在于模型,而在于输入大小。

我构建了一个文档对象模型(DOM)预处理器:

  1. 移除所有 <script><style> 和跟踪像素
  2. 移除导航栏、页脚、侧边栏元素
  3. 合并不携带语义内容的深层嵌套包装器
  4. 应用 SimHash 算法对结构相同的子树进行去重

结果:580KB → 4.2KB。减少了 99.3%。

当输入大小为 4KB 时,每个模型都变得快速起来。但更有趣的事情发生了:在这种规模下,重复模式变得显而易见。相同的结构重复了 20、50、100 次——产品卡片、目录行、搜索结果。

AI 网络爬虫逐步工作原理

架构决策

如果仅从结构上看模式已经显而易见,为什么我还要付费让模型去寻找它呢?

我编写了一个启发式检测器:

  • 识别具有 3 个或以上结构相同兄弟元素的元素
  • 根据深度、子节点数量一致性和文本密度对候选列表进行评分
  • 0 毫秒 内返回排序后的列表候选项

然后,人工智能在检测之后介入——不是为了识别列表,而是为了标记字段并结构化输出。这是一个只需 200 个令牌的任务,而不是 150,000 个令牌的任务。

免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。

关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
回到顶部
步骤 方法 延迟
列表检测 启发式算法 0.2 毫秒
字段标记 大型语言模型(小输入)