整站内容爬取(喂 LLM)
抓整站文本内容并自动转 Markdown,适合 RAG、向量库、LLM 训练
最近更新:
§ 01
数据能力与使用场景
抓整站文本内容并自动转 Markdown,适合 RAG、向量库、LLM 训练。支持任意公开网站整站爬取,自动清理 HTML、转 Markdown、提取正文,支持 PDF 等文件下载。
起点与递归范围
指定一个或多个 startUrls,自动递归抓取子页面;可设 maxCrawlDepth、maxCrawlPages、maxResults 控制规模
URL 通配过滤
用 includeUrlGlobs / excludeUrlGlobs 精确控制爬取范围,如 example.com/blog/** 只抓博客
Sitemap 与 llms.txt
启用 useSitemaps 从 sitemap.xml 发现隐藏页面;useLlmsTxt 抓取站点 /llms.txt(专为 LLM 准备的 Markdown 索引)
爬取引擎选择
crawlerType 可选:adaptive(默认自动切换)、playwright:firefox(反反爬强)、cheerio(原生 HTTP 最快最便宜)
正文提取算法
htmlTransformer 可选 readableText(默认激进去导航)、readableTextIfPossible、extractus、defuddle(保留数学/代码/脚注)、none
HTML 元素清洗
removeElementsCssSelector 默认剔除 nav/footer/script/弹窗/cookie 条;keepElementsCssSelector 只保留指定区块
动态内容与交互
dynamicContentWaitSecs 等待动态加载;clickElementsCssSelector 点击展开折叠区块;pageFunction 注入自定义 JS
文本/Markdown/HTML 输出
saveMarkdown(默认 true 输出 markdown 字段);saveHtmlAsFile(推荐,HTML 存到 KV store 返回 htmlUrl 链接)
页面元数据自动提取
自动输出 metadata:canonicalUrl、title、description、author、keywords、languageCode、jsonLd、HTTP headers
AI 一句话摘要
summarize 开启后每页生成一句 summary,便于下游 LLM 分流(付费 add-on,约 $2-3 / 1000 页)
文件下载
saveContentTypes 按 MIME 类型下载(PDF/DOC/DOCX/XLS/XLSX/CSV);附件不受 Start URL 范围限制
页面截图
saveScreenshots 给每页存 PNG 到 KV store,输出 screenshotUrl;仅 playwright:firefox 引擎支持
登录态与认证
initialCookies 注入登录 cookies 抓取登录后内容;customHttpHeaders 加自定义 HTTP 头(如 Authorization)
代理与反反爬
proxyConfiguration 配置地理 IP 与代理池;maxSessionRotations 遇 CAPTCHA 自动换 session;maxRequestRetries 重试次数
- ▸抓目标网站内容做 RAG 知识库,喂给 LLM 做问答
- ▸整站爬取后建向量库,支持语义搜索
- ▸竞品内容审计:抓全站文章做内容策略分析
- ▸行业资料库:批量抓行业媒体整站内容做语料
- ▸迁移备份:抓自家或客户全站内容做迁移备份
§ 02
数据交付内容
基础文本与元数据包
默认包含
每个页面的默认输出:URL、抓取元信息、页面元数据(标题/描述/作者/语言)与纯文本正文。最小可用包,适合喂 LLM 做 RAG。
核心字段:url、crawl、metadata、text
Markdown 富文本包
可选增强
在 basic 基础上输出 markdown 字段,保留标题层级、列表、链接、代码块等结构,最适合 RAG/向量库/LangChain 集成。默认开启。
核心字段:markdown
完整 HTML 包
可选增强
输出清洗后的完整 HTML。推荐用 saveHtmlAsFile 把 HTML 存到 KV store 并返回 htmlUrl 下载链接(无大小限制,便于 debug)。
核心字段:html、htmlUrl
附件下载包
可选增强
通过 saveContentTypes 按 MIME 类型抓取页面内链接的附件文件,存到 KV store;附件不受 URL 范围限制。
核心字段:downloadedFiles
页面截图包
可选增强
每页生成 PNG 截图存到 KV store,输出 screenshotUrl 链接。仅 playwright:firefox 引擎支持;用于 debug、视觉校验、页面快照存档。
核心字段:screenshotUrl
AI 摘要包
可选增强
每页生成一句 AI 摘要存到 summary 字段,便于下游 LLM 快速分流。通过外部 LLM 服务计费,约 $2-3 / 1000 页。仅对有标题或 Markdown 的页面生效。
核心字段:summary
以下增强包默认关闭,可按需开启。开启后会按实际抓取量额外计费,询价时请注明需求。
AI 摘要生成
启用后每页生成一句 AI 摘要,便于下游 LLM 分流与快速 triage;通过外部 LLM 服务生成,会产生额外 Actor 运行费用。仅对有标题或 Markdown 的页面生效。
文件下载(PDF/Office/CSV)
按 MIME 类型下载页面内链接的附件文件(PDF/DOC/DOCX/XLS/XLSX/CSV 等),存到 KV store;附件不受 Start URLs 范围限制。
页面截图
每页生成 PNG 截图,便于 debug 与视觉校验。仅 playwright:firefox 引擎支持。
HTML 文件存储
推荐用 saveHtmlAsFile 把清洗后 HTML 存到 KV store 并返回下载链接,替代已废弃的 saveHtml(dataset 10MB 限制)。
登录态抓取
注入登录 cookies(initialCookies)抓取登录后才能访问的页面;需用 EditThisCookie 浏览器扩展导出 cookies。
反反爬代理与浏览器指纹
配置 proxyConfiguration(推荐 residential proxy)+ playwright:firefox 引擎 + maxSessionRotations 自动轮换 session 绕 CAPTCHA。
Headless 浏览器渲染
切换 crawlerType 为 playwright:firefox 渲染 JS 动态内容;比 raw HTTP 慢且贵但能抓 SPA/反爬站点。adaptive 模式会自动判断何时切换。
§ 03
样例数据
| 商家名称 | 分类 | 地址 | 城市 | 电话 | 网站 | 评分 | 评论数 |
|---|---|---|---|---|---|---|---|
| — | — | — | — | — | — | — | — |
点击展开完整 JSON 样例
{
"url": "https://example.com/",
"crawl": {
"loadedUrl": "https://example.com/",
"loadedTime": "2026-07-29T10:04:32.644Z",
"referrerUrl": "https://example.com/",
"httpStatusCode": 200,
"depth": 0,
"contentType": "text/html"
},
"metadata": {
"canonicalUrl": "https://example.com/",
"title": "Example Domain",
"description": null,
"author": null,
"keywords": null,
"languageCode": "en",
"jsonLd": null,
"headers": {
"date": "Wed, 29 Jul 2026 10:04:32 GMT",
"content-type": "text/html",
"server": "cloudflare",
"last-modified": "Mon, 20 Jul 2026 07:16:20 GMT",
"allow": "GET, HEAD",
"age": "9612",
"cf-cache-status": "HIT",
"content-encoding": "br",
"cf-ray": "a22b4ccf19784bd3-BUF",
"x-firefox-spdy": "h2"
}
},
"screenshotUrl": null,
"text": "Example Domain\nThis domain is for use in documentation examples without needing permission. Avoid use in operations.\nLearn more",
"html": null,
"htmlUrl": null,
"markdown": "# Example Domain\n\nThis domain is for use in documentation examples without needing permission. Avoid use in operations.\n\n[Learn more](https://iana.org/domains/example)",
"debug": {
"requestHandlerMode": "browser"
}
}§ 04
怎么告诉我们你的需求
你只需要告诉我们下面 5 件事,剩下的配置由我们来完成:
01
爬什么网站
目标站点起点 URL(一个或多个),如文档站首页、博客目录、知识库根路径
例如:https://docs.example.com/
02
爬多深
递归深度与最大页数,防止爬虫失控;小范围测试建议 maxCrawlPages=50
例如:深度 3,最多 5000 页
03
要什么输出
纯文本 / Markdown / HTML / 附件下载 / 截图 / AI 摘要,按需组合
例如:Markdown + AI 摘要
04
是否需要登录态
公开站点无需;登录后内容需提供 cookies;反爬站点需 residential proxy
例如:公开站点,无需登录
05
交付格式
JSON / CSV / Markdown 文件包 / HTML 快照 / 直接对接向量库
例如:JSON + Markdown 文件包
§ 05
套餐与询价
§ 06
服务流程
01
咨询
扫码加微信,描述你的数据需求
02
报价
1 小时内回复,按数据量与复杂度报价
03
交付
人工跑数据,清洗加工后微信交付
04
售后
数据有疑问随时找我,支持复购
§ 07
使用注意事项
- •建议先用 maxCrawlPages=50 小范围测试,确认正文提取质量后再扩大规模;避免一次性抓取数万页后发现 htmlTransformer 选错。
- •静态站点(无 JS 渲染需求)用 crawlerType=cheerio 最快最便宜(约 $0.2/1000 页),比 headless 浏览器便宜 2-25 倍。
- •反爬强的站点(CAPTCHA/指纹检测)用 playwright:firefox + residential proxy + maxSessionRotations=10,adaptive 模式可能不够稳定。
- •大型站点启用 useSitemaps=true 可加速 URL 发现,但处理 sitemap 本身可能很耗时(尤其百万页站点);也可直接把 sitemap.xml 作为 Start URL。
- •AI 摘要(summarize)是付费 add-on,仅在下游 LLM 需要快速分流时启用;全量摘要成本可能超过抓取本身。
- •单个 URL 提取建议用 RAG Web Browser(Standby 模式),比本 actor 更快更高效;本 actor 专为整站深度爬取设计。
§ 08
常见问题
能爬哪些类型的网站?
任意公开网站均可:文档站、知识库、博客、帮助中心、新闻媒体等。只要页面有公开链接可达,我们就能按 Start URL 递归抓取;登录后内容需提供 cookies。
能否绕过登录墙抓取付费内容?
可以。通过 initialCookies 注入你的登录 cookies,actor 会带着登录态访问页面。需用 EditThisCookie 浏览器扩展导出 cookies 提供给我们。注意:付费内容抓取涉及版权与 ToS,请确保合规。
是否渲染 JavaScript?
取决于 crawlerType:playwright:firefox 完整渲染 JS(适合 SPA/反爬站点);cheerio 不渲染 JS(最快最便宜);playwright:adaptive(默认)自动判断每页是否需要渲染。
PDF/DOC 等附件下载会额外计费吗?
附件下载本身不额外计费,但会产生 KV store 存储成本。AI 摘要(summarize)才是明确的付费 add-on,约 $2-3 / 1000 页。
大型站点(百万页)抓取要多久?
取决于引擎与并发:raw HTTP + 高并发可达每分钟数千页;headless 浏览器约每分钟数十至数百页。建议先用 maxCrawlPages=50 小范围测试,再根据预算与时效调整。actor 支持崩溃自动重启续抓。
是否遵守 robots.txt?
默认不遵守(respectRobotsTxtFile=false)。可在询价时要求开启,actor 会在抓取每页前查询 robots.txt。注意:crawl-delay 指令暂不支持。
AI 摘要为什么单独收费?
AI 摘要通过外部 LLM 服务生成,会产生额外 Actor 运行费用(约 $2-3 / 1000 页)。如果你不需要每页摘要,默认关闭即可零额外成本。
抓取的内容合规吗?
我们只抓取公开可访问的非个人数据。文档/博客/帮助页面通常受版权保护,可用于内部 AI 训练/RAG 但不可重新发布。涉及个人数据时请确保符合 GDPR 与当地法规。
交付时效与格式?
小型站点(<1000 页)通常 1-2 小时内交付;中型站点(1-10 万页)1-2 天;百万页级大型站点需评估后报价。默认交付 JSON/CSV,也可导出 Markdown 文件包、HTML 快照或直接对接你的向量数据库。
§ 09
完整技术参数
展开输入参数
| FIELD | TYPE | DESCRIPTION |
|---|---|---|
| startUrls | array | 爬取起点 URL 列表。默认会自动递归抓取其子页面,如填 example.com/blog 会连带抓 /blog/post。 |
| crawlerType | string | 爬取引擎:adaptive(默认,自动切换浏览器/HTTP)、playwright:firefox(反反爬强)、cheerio(最快不渲染 JS);后两个已废弃。 |
| includeUrlGlobs | array | 爬取范围扩展通配符。如 example.com/blog/** 匹配所有博客页,即使 Start URL 是产品页。仅作用于页内发现的链接。 |
| excludeUrlGlobs | array | 爬取排除通配符。如 {store,docs}.example.com/** 排除这两个子站;仅作用于页内链接,不影响 Start URL。 |
| maxCrawlDepth | integer | 最大递归深度。Start URL 为深度 0,直接链接为 1,依此类推。设为 0 只抓 Start URL 本身。默认 20。 |
| maxCrawlPages | integer | 最大抓取页数(含 Start URL、分页、空页等)。达到上限自动停止,防止爬虫失控。默认 9999999。 |
| useSitemaps | boolean | 从 Start URL 域名的 sitemap.xml 发现更多 URL,能找到页内链接不到的页面;但大站 sitemap 处理耗时。默认 false。 |
| useLlmsTxt | boolean | 抓取站点根目录 /llms.txt(专为 LLM 准备的 Markdown 索引);同时会抓取其他 Markdown 文件并提取其链接。默认 false。 |
| respectRobotsTxtFile | boolean | 抓取每页前查询 robots.txt 协议。注意:actor 不使用特定 UA 标识,crawl-delay 指令暂不支持。默认 false。 |
| keepUrlFragments | boolean | URL 锚点(#fragment)是否视为不同页面。单页应用用锚点切换页面时需开启;普通站点应忽略。默认 false。 |
| ignoreCanonicalUrl | boolean | 忽略页面的 canonical URL 与 ETag,用实际 URL 去重。适合站点 canonical 配置错误导致页面被错误跳过的场景。默认 false。 |
| proxyConfiguration | object | 代理配置:从特定地理 IP 加载页面并绕过封锁。默认使用平台内置代理。 |
| initialCookies | array | 预设到所有页面的 cookies,用于抓取需登录的页面。需 JSON 数组(含 name/value)。可用 EditThisCookie 扩展导出。 |
| customHttpHeaders | object | 自定义 HTTP 头,加到所有请求。用于设置 Authorization 等鉴权头。如 {"Authorization": "Basic ..."}。 |
| signHttpRequests | boolean | 用 Web Bot Auth 私钥签名所有 HTTP 请求,作为 Cloudflare Signed Agent 使用时必须开启。默认 false。 |
| initialConcurrency | integer | 初始并发数。设 0 用引擎默认值;过高会 OOM 崩溃,过低启动慢。系统会按 CPU/内存自动伸缩。 |
| maxConcurrency | integer | 最大并发数,避免压垮目标站点或被封锁。默认 200。 |
| requestTimeoutSecs | integer | 单次请求与响应处理的超时秒数。默认 60 秒。 |
| minFileDownloadSpeedKBps | integer | 附件下载最低速度阈值(KB/s)。低于此值持续 10 秒则中止并重试,防止慢速下载卡死爬虫。默认 128。 |
| maxRequestRetries | integer | 网络/代理/服务器错误时的最大重试次数。第 n+1 次仍失败则标记为失败请求。默认 3。 |
| maxSessionRotations | integer | 遇 CAPTCHA 等反爬时最大 session 轮换次数(换 IP + 浏览器配置)。超过仍被封锁则报错。默认 10。 |
| ignoreHttpsErrors | boolean | 忽略 HTTPS 证书错误。有安全风险,自行承担。默认 false。 |
| dynamicContentWaitSecs | integer | 等待动态内容加载的最大秒数。默认 10 秒;网络空闲或超时则继续。raw HTTP 模式忽略此设置。 |
| waitForSelector | string | 等待指定 CSS 元素出现后再提取内容,适合动态加载页。超时则请求失败并重试。如 div、#id、.class。 |
| softWaitForSelector | string | 软等待 CSS 选择器出现。与 waitForSelector 不同:超时不出现也不失败,继续处理。 |
| maxScrollHeightPixels | integer | 页面滚动到底的最大高度(像素)。设 0 禁用滚动。raw HTTP 模式忽略此设置。默认 5000。 |
| removeCookieWarnings | boolean | 用 "I don't care about cookies" 扩展自动移除 cookie 同意弹窗,提升文本提取准确度。raw HTTP 模式忽略。默认 true。 |
| blockMedia | boolean | headless 浏览器模式下不加载图片/字体/样式/视频以提速,但仍加载脚本。默认 false。 |
| expandIframes | boolean | 默认提取 iframe 内容。如需跳过 iframe 处理则关闭。仅 playwright:firefox 引擎有效。默认 true。 |
| clickElementsCssSelector | string | 匹配要点击的 DOM 元素 CSS 选择器,用于展开折叠区块以捕获其文本。如 [aria-expanded="false"]。 |
| stickyContainerCssSelector | string | 实验性:匹配的 DOM 容器不会被删除子元素,配合点击展开用于隐藏内容被从 DOM 移除的场景。可能损坏内容。 |
| pageFunction | string | 自定义异步 JS 函数,在页面加载后、内容提取前执行。可访问 Playwright page 与 request 对象做复杂交互。 |
| keepElementsCssSelector | string | 只保留匹配 CSS 选择器的元素,其余移除。在 HTML 转换器之前执行;如缺内容可尝试关闭 transformer。 |
| removeElementsCssSelector | string | 提取文本前要移除的 HTML 元素。默认剔除 nav/footer/弹窗/script 等噪声;设为 dummy_keep_everything 可禁用移除。 |
| htmlTransformer | string | HTML 转换算法:readableText(默认,激进去导航)、readableTextIfPossible(保留原文 fallback)、extractus、defuddle(保留数学/代码)、none。 |
| readableTextCharThreshold | integer | readableText 转换器的最小字符数阈值,低于此长度的文章视为不相关。默认 100。 |
| aggressivePrune | boolean | 实验性:用 Count-Min Sketch 算法剪除跨页重复行(菜单/页眉/页脚等)。可能误删少量相关内容。默认 false。 |
| debugMode | boolean | 输出所有 HTML 转换器的结果与 HTML 快照到 debug 字段,用于排查提取问题。默认 false。 |
| debugLog | boolean | 在 actor 日志中输出 debug 信息,可能非常冗长。默认 false。 |
| storeSkippedUrls | boolean | 把所有被跳过的 URL 与原因存到 KV store 的 SKIPPED_URLS 记录,用于排查为何某些页面没被抓取。默认 false。 |
| saveHtml | boolean | 直接把 HTML 存到 dataset 的 html 字段(已废弃,受 10MB 限制)。推荐用 saveHtmlAsFile 替代。默认 false。 |
| saveHtmlAsFile | boolean | 把 HTML 存到 KV store 并在 dataset 输出 htmlUrl 下载链接。推荐方式:无大小限制,便于 debug。默认 false。 |
| saveMarkdown | boolean | 把清洗后的 HTML 转成 Markdown 存到 markdown 字段,保留标题/列表/链接/代码块结构。默认 true。 |
| summarize | boolean | 为每页生成一句 AI 摘要存到 summary 字段,便于下游 LLM 快速分流。付费 add-on,约 $2-3/1000 页。默认 false。 |
| saveFiles | boolean | 已废弃,用 saveContentTypes 替代。启用后下载 PDF/DOC/DOCX/XLS/XLSX/CSV 附件到 KV store。默认 false。 |
| saveContentTypes | string | 按 MIME 类型下载页面内链接的附件(如 application/pdf、text/*、image/*)。附件不受 Start URL 范围限制。 |
| saveScreenshots | boolean | 给每页生成 PNG 截图存到 KV store,输出 screenshotUrl 链接。仅 playwright:firefox 支持。默认 false。 |
| maxResults | integer | 存储的最大结果数(网页 + 文件)。达到上限自动停止,防止失控。canonical 去重会使实际抓取页数大于结果数。默认 9999999。 |
| clientSideMinChangePercentage | integer | adaptive 模式专用:初始加载后内容变化百分比的最小阈值,超过则视为客户端渲染页。默认 15。 |
| renderingTypeDetectionPercentage | integer | adaptive 模式专用:多久检测一次页面渲染类型(1-100)。默认 10。 |
| reuseStoredDetectionResults | boolean | adaptive 模式专用:复用前次运行的渲染类型检测结果,加速静态页面抓取。默认 false。 |
