AI大模型市场分析:从各家API定价页提取结构化对比

做 AI 大模型市场分析时,最容易踩的坑是直接引用第三方榜单或二手价格表。
各家定价页更新频繁,二手数据往往滞后。
更可靠的做法是用脚本定期抓取官方定价页,清洗成结构化 CSV,再按统一口径对比。
本文用 Python 的 requests 和 BeautifulSoup 完成一次抓取,适合有基础 Linux 和 Python 环境的读者。

先确认目标页面和抓取边界

开始前要明确两件事:抓哪些页面、抓哪些字段。
以常见厂商的 API 定价页为例,通常需要提取模型名称、输入单价、输出单价、计价单位(每千 token 或每百万 token)。
不同厂商页面结构差异很大,不能指望一个选择器通吃。

准备条件:

  • 一台能访问外网的 Linux 服务器,已安装 Python 3.8 及以上版本
  • 安装依赖:pip install requests beautifulsoup4 lxml
  • 目标定价页的 URL 列表,建议先手动打开确认页面能正常渲染

建议先从一两家结构稳定的页面开始,跑通流程再扩展。
不要一上来就抓十几家,否则解析规则会失控。

编写抓取与清洗脚本

下面脚本以通用表格结构为例,把页面中的表格行转换成字典列表。
实际使用时需要根据目标页面的 HTML 调整 table 选择器和列索引。

import csv
import requests
from bs4 import BeautifulSoup

URLS = {
    "vendor_a": "https://example.com/pricing",
}

headers = {
    "User-Agent": "Mozilla/5.0 (compatible; MarketResearch/1.0)"
}

rows = []
for vendor, url in URLS.items():
    resp = requests.get(url, headers=headers, timeout=15)
    resp.raise_for_status()
    soup = BeautifulSoup(resp.text, "lxml")
    table = soup.find("table")
    if table is None:
        print(f"{vendor}: 未找到表格,检查页面结构")
        continue
    for tr in table.find_all("tr")[1:]:
        cols = [td.get_text(strip=True) for td in tr.find_all(["td", "th"])]
        if len(cols) < 3:
            continue
        rows.append({
            "vendor": vendor,
            "model": cols[0],
            "input_price": cols[1],
            "output_price": cols[2],
        })

with open("pricing.csv", "w", newline="", encoding="utf-8-sig") as f:
    writer = csv.DictWriter(f, fieldnames=["vendor", "model", "input_price", "output_price"])
    writer.writeheader()
    writer.writerows(rows)

print(f"共写入 {len(rows)} 条记录")

运行 python3 fetch_pricing.py 后,检查当前目录是否生成 pricing.csv,用 head pricing.csv 查看前几行是否符合预期。
如果输出为空,优先检查 soup.find("table") 是否命中,以及页面是否由 JavaScript 动态渲染。

统一计价口径再对比

抓下来的原始数据往往单位不一致,有的写“每千 token 0.002 美元”,有的写“每百万 token 2 美元”。
直接对比会得出错误结论。
建议在清洗阶段增加一列统一单价,例如全部换算成“每百万 token 美元价”。

可以用一个简单的转换函数处理常见单位:

def to_per_million(text):
    text = text.lower().replace("$", "").strip()
    if "百万" in text or "million" in text:
        return text
    if "千" in text or "1k" in text:
        num = float(text.split()[0])
        return str(num * 1000)
    return text

实际使用时要把文本解析得更健壮,比如用正则提取数字和单位。
转换后建议人工抽查几条记录,确认没有把“每千字符”误当成“每千 token”。

避坑与结果验证

页面结构变化是这类脚本最常见的失败原因。
厂商改版后表格选择器可能失效,表现为抓取结果为空或字段错位。
建议每次运行后检查记录数量,并与上次结果对比,数量骤降时先人工打开页面确认。

反爬与频率也要注意。
不要高频请求同一域名,设置合理的 timeout,必要时在请求之间加 time.sleep(2)。
如果返回 403,先检查 User-Agent 和是否触发了访问频率限制,不要直接加大并发。

动态渲染页面用 requests 抓不到真实表格。
如果页面源码里没有 table 标签,需要改用浏览器开发者工具确认接口,或使用 Playwright 等工具渲染后再解析。

验证方式:

  • 用 wc -l pricing.csv 确认行数,与页面可见模型数量大致一致
  • 随机抽取 2 到 3 个模型,手动对照页面价格
  • 把 CSV 导入表格软件,按单价排序,检查是否有明显异常值

完成以上步骤后,你得到的是可复核的原始价格数据。
后续做 AI大模型市场分析时,建议保留每次抓取的时间和原始 CSV,方便对比价格变化,而不是只记住一个静态结论。

分享到:
上一篇
AI大模型行业报告怎么读?用API日志验证关键结论
下一篇
AI大模型投资分析:用API日志和成本表建立可验证的评估方法
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意