2m read
大模型网页抓取原理
aiweb
当你让大模型「帮我总结这个网页」,背后的流程不是从你的电脑发请求,而是服务端代为抓取。
流程
text你给 URL → 云端服务器发出 HTTP 请求 → 目标网站返回 HTML ↓ HTML 转纯文本/Markdown ↓ 小模型按你的 prompt 提取关键信息 → 返回给你
关键点
- 不是从你本地发请求:请求的 IP 是大模型服务商的服务器,不是你的 IP
- 不会用你的登录态:服务端没有你的 cookie、JWT、session,对目标网站来说是「匿名访客」
- 请求没有状态:每次 WebFetch 都是独立的冷请求
为什么有些网站能抓,有些不行
| 情况 | 结果 |
|---|---|
| 公开网页(如维基百科) | 直接能抓 |
| 带分享链接的页面 | 部分内容对未登录用户开放,可能成功 |
| 完全需要登录的页面 | 失败,拿不到正文 |
遇到需要登录的页面怎么办
- 开发者工具复制:F12 → Elements → 右键内容节点 → Copy outerHTML,粘贴给模型
- 另存为本地文件:
Cmd+S保存 HTML,或Cmd+P保存 PDF,放到本地让模型读取 - 截图:保存到本地,模型能直接识别图片中的文字
- 配置浏览器 MCP 工具:搭建 Puppeteer/Playwright MCP server,复用本地浏览器 profile(含登录 cookie),实现自动化抓取
大模型能直接上网吗
Chat 模式下的模型本身是离线的,训练数据有截止日期。能上网是因为平台给了它工具(WebFetch / WebSearch)——本质上是一个「函数调用」:模型输出 URL,平台去抓,结果塞回上下文。
你的 JWT、session 始终在你自己的设备上,除非你主动配置 MCP 工具让服务器访问你的浏览器。