Expand description
抓取引擎:把网络层、礼貌策略、正文提取、PDF 和浏览器渲染串成一次完整的抓取。
流程:robots 模式 → HTTP 抓取(策略层负责冷却、robots、限速)→ 按内容类型分流(PDF / HTML)
→ engine: auto 时正文太少就升级到浏览器渲染 → 组装成 Firecrawl 格式的文档。
Modules§
- planner
- 渲染决策与候选合并的引擎接线:学习表和族的键在
pagesift_plan::render,这里把它接到请求路径上 (渲不渲染、换不换内核、保留哪个结果、页面数据岛),并负责把学习表存进存储。
Structs§
- Engine
Probe - 内核链里一个内核的启动检查结果(
Scraper::probe_engines)。 - Scraper
- Scraper
Config
Enums§
- Scraper
Error - 创建
Scraper失败:网络层或 LLM 客户端的配置不对。
Constants§
- AUTO_
RENDER_ ARTICLE_ MIN_ CHARS - 已经认出是一篇文章(有发布时间或
og:type=article)时,正文到这么多加权字符就不再渲染: 短新闻 HTTP 已经拿全了。AiSeek 的生产数据里,63% 的渲染拿到的文字和 HTTP 一样多, 多半就是这类短文章。 - AUTO_
RENDER_ MIN_ CHARS - F-1.9:HTTP 抓到的正文少于这么多(加权)字符时,
engine: auto升级到浏览器渲染。 中日韩文字一个字按CJK_WEIGHT个字符算(信息量和几个拉丁字母相当),见text_weight。 - CJK_
WEIGHT - RENDER_
FALLBACK_ MIN_ CHARS - 浏览器渲染出的正文少于这么多字符时,换下一个内核再试(Lightpanda 的脚本支持不全, 单页应用可能渲染不出内容)。最后一个内核的结果照常返回。
Functions§
- chunk_
markdown chunking:正文 Markdown 分块。参数格式见pagesift_extract::ChunkStrategy(maxLevel这类驼峰写法也认)。- needs_
render engine: auto时 HTTP 的结果是否还要用浏览器渲染。- office_
markdown - 把一份 Office/EPUB/CSV 文档转成 Markdown,供引擎和评测共用。
deadline到了报超时。 CSV 的字符集按正文探测;知道 Content-Type 时用office_markdown_from。 - office_
markdown_ from - 同
office_markdown,另给文件来源的 Content-Type(响应头或上传时的):CSV 按它的charset解码,和网页一样;声明和正文对不上时纠正并给decode:警告。 - policy_
error - set_
cpu_ capacity - 进程可用的 CPU 数,由建运行时的一方在绑核之前设置。
- set_
cpu_ groups - CPU 工人的分组:每个 NUMA 节点允许使用的逻辑 CPU。设置后工人按组分配、绑到所在组的 CPU 集,
偷任务先在组内偷(0.70 在 192 vCPU 上的实测,见
pagesift_flow::cpu)。 不设置时(Python、Node 宿主)工人不绑核。 - tag_
filter includeTags/excludeTags的筛选规则;都没给时为None,选择器写错时返回INVALID_REQUEST。- text_
weight - 正文的加权长度:空白不算,中日韩文字按
CJK_WEIGHT算。