爬虫工程
AI Price Monitoring 抓取层:ETag、304 与退避状态机
大模型价格页和中转公开页往往长时间不变。条件请求可以在资源未变化时只接收 304,减少带宽与解析次数,同时保留完整的新鲜度证据。
核心主题:AI 价格爬虫条件请求 · 搜索意图:Semrush US 邻近词“ai price monitoring”:未提供意图;本篇细分意图未由 Semrush 单独验证
Keyword evidence
Semrush US 关键词研究记录
文章主题词:AI 价格爬虫条件请求。仅用于选词与意图;不把 US 指标写成中国需求,不推断趋势。 no_data 保持原样,不换算为 0;趋势未导出数值,因此不展示或推断趋势。
| 角色 | 查询词 | 数据库 / 日期 | Volume | KD | Intent | CPC |
|---|---|---|---|---|---|---|
| 选定记录 | ai price monitoring | US · 2026-08-29 | 10 | 未提供 | 未提供 | $0.00 |
AI 价格页为什么适合条件请求
官方大模型价格和多数中转定价页并不会每分钟变化,但普通定时 GET 仍会重复下载、渲染和解析同一正文。保存响应的 ETag 与 Last-Modified 后,爬虫可以在下一轮发送 If-None-Match 或 If-Modified-Since,把“没变化”变成可观测结果。
条件请求不是绕过访问限制,也不增加对被抓站点的权利。2026-08-29 的技术核验依据是 HTTP 标准和 MDN 文档;实际使用仍需先通过 robots、条款、频率和域名白名单检查。
证据边界:本节以 S1 支持“RFC 9110 定义 ETag、If-None-Match、Last-Modified、Retry-After 与响应状态语义。”。
- 先做 robots 预检
- 只对公开且允许的 URL 调度
- 验证器与 URL、Vary 维度绑定
把 200、304 和异常建成状态机
首次成功的 200 响应应保存状态码、最终 URL、ETag、Last-Modified、Content-Type、正文哈希与抓取时间。再次请求收到 304 时不生成新正文,而是更新 last_checked_at,并把旧正文的有效期延伸到本次观测。
若服务器不提供验证器,仍可保存规范化正文哈希;但哈希只能减少后续解析,不能减少传输。若返回 200 且 ETag 相同却正文变化,应记录服务端验证器异常,并以正文指纹作为事实,不静默覆盖。
证据边界:本节以 S2 支持“MDN 说明条件请求使用验证器判断资源版本,并用于缓存更新和防止并发覆盖。”。
- 304 复用旧正文
- 200 重新计算指纹
- 验证器冲突进入异常队列
下载变化不等于价格变化
价格页常因时间、广告、脚本哈希或导航更新而产生新 ETag。解析层应提取价格表、模型名、计费单位与生效说明,生成业务指纹;只有业务字段变化才创建 price_change_candidate。
规范化也可能误删重要信息,例如促销倒计时、地域说明或缓存价格。解析器版本必须进入记录,升级规则后要能重放历史正文,以区分“来源变化”与“解析逻辑变化”。
证据边界:本节以 S3 支持“RFC 6585 定义 429 Too Many Requests,并允许响应提供 Retry-After。”。
- 传输指纹与业务指纹分离
- 保留原始正文或可验证快照
- 解析器升级触发可控重放
错误退避与证据边界
遇到 429 应遵循 Retry-After;没有该字段时使用带抖动的指数退避。503、网络失败和挑战页同样要降低频率,不能通过并发或轮换身份强行维持刷新率,因为榜单新鲜度不应建立在来源过载上。
风险包括中间缓存返回旧内容、重定向到登录页、语言协商导致不同价格和弱 ETag 代表语义等价而非字节一致。展示层应公布 last_success_at 与 last_checked_at 的差别,避免把一次 304 写成“价格重新核验无误”。
- 尊重 Retry-After
- 区分检查成功与价格重新解析
- 缓存与重定向进入证据记录
落地检查清单
工程落地时,为“AI 价格爬虫条件请求”建立独立 article_run_id,并保存 selected_semrush_record、database、measured_on、source_snapshot_ids、content_hash、reviewer 与 gate_status。Semrush 字段只参与选词和意图决策,不进入价格公式,也不把 US 指标解释成中文或中国市场需求。
论点账本必须逐条可回放:S1 对应 C1:“ETag/If-None-Match 和 Last-Modified 条件请求可区分资源表示是否变化,304 不应触发正文重解析。”;S3 对应 C2:“429 表示请求过多,调度器应读取 Retry-After 并覆盖正常抓取计划。”。编辑器在段落层写入 evidenceRefs,构建检查确认引用 ID 存在;来源页面发生结构变化时,只把对应论点退回复核,不让整篇文章静默继承旧快照。
动态复核字段包括:真实来源的 ETag、Last-Modified、304 比率和内容指纹、429/503、Retry-After、退避和恢复时间。发布任务应读取当前页面、保留原始单位和地区、与上一快照做字段级 Diff,并记录核验日期 2026-08-29。缺失、受限或无法确认的值保持 null 或“待复核”,不使用 0、均值或相邻产品代填。
独立 SVG 采用“价格爬虫的 200、304、429 与异常分流”结构,输入维度为:ETag、Last-Modified、status、Retry-After、content hash、parsed diff。图表只绘制有来源的数据,缺失项显示空缺;alt、caption、图内标题与正文使用同一术语,并在图注标明动态字段核验日期。
证据与来源链接
以下页面用于支持本文中的具体判断;价格、规则和产品状态可能变化,请按核验日期回到原始来源确认。
支持内容:RFC 9110 定义 ETag、If-None-Match、Last-Modified、Retry-After 与响应状态语义。
支持内容:MDN 说明条件请求使用验证器判断资源版本,并用于缓存更新和防止并发覆盖。
支持内容:RFC 6585 定义 429 Too Many Requests,并允许响应提供 Retry-After。
相关文章
榜单方法
AI 中转站价格榜单怎么做:倍率、证据时钟与不确定性
一份可信的 AI 中转榜单不只比较最低数字,还要拆开充值倍率、模型倍率、计费单位、样本时间与证据等级。本文给出可复核的指标与发布流程。
来源采集
链动小铺与 AI 卡网订阅:目录发现、原店核验与快照过期
2dou 店铺目录可以提供发现线索和某一时点的店铺、商品、起价与同步状态,但它不是官方价格源。本文设计一条尊重 robots、保留时间戳并回链原店的快照流水线。
来源合规
AI 价格数据源 robots 核验:分组匹配、缓存与运行时熔断
面向 AI 价格和订阅来源的爬虫,应在每个域名独立解析 robots.txt、选择匹配的 User-Agent 组,并把规则变化纳入域名启停与审计。
常见问题
AI 价格页返回 304 时还要更新价格记录吗?
不创建新的价格版本;应更新检查时间,并把上次成功正文继续作为当前证据,同时保留本次请求和响应元数据。
没有 ETag 的大模型价格页还能做低负载采集吗?
可以尝试 Last-Modified,或者降低频率并用正文哈希避免重复解析;后两者通常仍会传输正文,节省效果不同。
AI Price Monitoring 抓取层:ETag、304 与退避状态机中的动态价格或规则怎样保持可复核?
每次更新都重新读取“真实来源的 ETag、Last-Modified、304 比率和内容指纹、429/503、Retry-After、退避和恢复时间”,保存来源 URL、核验日期、原始单位、地区和快照哈希,并按 evidenceRefs 定位受影响段落。后续若字段消失或规则变化则进入更新复核,不用 0、旧数字或相邻产品自动补位。