Scrapling 0.5.1:把整站抓成 Markdown,还给 AI 一副浏览器

摘要

Scrapling 是开源的 Python 网页抓取框架,整页和整站都能转成干净 Markdown,页面改版后元素能自己找回,0.5.1 版补上了远程会话与拖拽。

推荐
软件名称
Scrapling
版本
0.5.1
收费
免费
开源
开源
操作系统
WindowsmacOSLinux
更新时间
2026-11-10 20:25

Scrapling 是一个用 Python 写的网页抓取框架,把发请求、开浏览器、解析页面、整站采集和导出放进同一个库。11 月 4 日发布的 0.5.1 版干了两件事:把浏览器会话开放给外部程序接管,让智能体学会看动效和拖拽;顺手把「整站转成干净 Markdown」这条路修得更顺。需要给自己攒语料、或者想让 AI 自己去读公开网页的人,值得花十分钟了解它。Windows、macOS 与 Linux 上都能跑。

logo banner
项目自带的标识,绿色是它的主色

先把网页洗成 Markdown,再交给模型

大模型读原始 HTML 吃亏。导航栏、脚本、样式、广告位全在里面,真正有用的正文夹在中间,按字数计费的时候,这些噪声照样付钱。Scrapling 的减法做在转换阶段:调用 markdown() 之后,脚本、样式、隐藏元素一律清空,页面上用 CSS 藏起来的白字、标了 aria-hidden 的区块、HTML 注释和零宽字符也一并剔除。

这一步不经过任何大模型,纯本地字符串处理,抓一万页也不产生模型费用。省下的不只是钱。喂进去的语料干净,下游切块的质量才稳,检索出来的片段不会带着半屏菜单项。

整站转 Markdown 有现成模板。设好允许的域名、指定正文选择器、给一个页数上限,跑完得到一个文件夹的 .md 文件,外加一份 JSONL,每条记录带来源、标题和正文,可以直接倒进知识库。文档站、博客、产品手册这类结构规整的站点,用它整理语料最省事。

元素带指纹,页面改版不用重写选择器

抓取脚本最脆的地方是选择器。站点换一套 CSS 类名,昨天还能跑的代码今天就返回空列表,一层层翻日志才发现是类名变了。Scrapling 的自适应元素追踪换了个思路:第一次定位时把元素的位置、属性、文本特征记成指纹,页面结构变动之后,它按相似度重新找那个「换了位置但还是同一个东西」的节点。

配套的相似元素匹配对付另一个常见场景。一页几十张结构相同的卡片,要挑出特定的那一个,先找到参照元素,再按结构相似度往外扩,比手写 nth-child 稳。

一次请求和一整个站,写法是同一套

Fetcher
发普通 HTTP 请求,带上与真实浏览器一致的 TLS 指纹和请求头,静态页、公开接口够用
浏览器类抓取器
用 Playwright 驱动 Chromium 渲染,等 JavaScript 执行完再取内容,也能挂在已经开着的浏览器上
Spider
并发采集,自动限速,按 Ctrl+C 存下进度、下次接着跑,结果导出成 JSON、JSONL、CSV 或 XML

三种抓法共用同一套解析接口。同一份选择器代码,换一个 fetcher 就能从静态页搬到动态页,不必为了渲染 JavaScript 另起一套写法。页面背后那些 XHR 请求也能录下来,接口返回的数据往往比渲染后的 HTML 更规整。

data extraction command line tool
整站采集的调度链路,检查点让中断的任务能接着跑

还有一个顺手的小细节。平时在浏览器里调试接口,右键「复制为 cURL」能得到一条完整的请求;这条命令贴进 Scrapling 的交互式 shell,会自动转成可复用的采集语句,先跑通,再改写进脚本。省掉了从零拼请求头那一遍。

browser network request inspection
请求面板里复制出来的一条命令,能直接进 shell

0.5.1 补上的三个口子

版本时间主要变化
0.52026-10-17MCP 服务器补齐完整浏览器流程,新增网络请求录制与登录状态存取,支持开放的 Shadow DOM,爬取可选广度或深度优先
0.5.12026-11-04新增远程会话类,可直接接管已在运行的 Chromium;智能体能看动效、能按住鼠标拖放

远程会话这一项,意义在把浏览器和采集进程拆开。它通过 CDP 端点连上一台已经开着的 Chromium,默认复用原有上下文,登录态直接继承,断开会话时已开的标签页还留在那里。以前要带着登录信息跑采集,只能在脚本里反复存取状态文件。

动效和拖拽是给智能体准备的。单张截图只记录一瞬间,动画、滚动之后的位置变化、滑块这类控件,静态图看不出前因后果。0.5.1 让它按一组连续画面理解页面在动什么,也能按住鼠标、移动、中途停下来检查、再松开。工具描述同时做了压缩,同样的能力占掉更少的上下文预算。

给智能体的入口不止一个

MCP 服务器负责动手。打开页面、点击、填表、滚动、截图、读接口响应都做成了工具,客户端接上之后,一句「把这一页的参数整理成表格」就能跑完。Agent 技能负责另一件事:它是一份随版本更新的手册,编码助手写 Scrapling 代码时按需查阅,省得凭旧记忆拼错接口。命令行和交互式 shell 是第三条路,适合先把一次请求跑通,再落回脚本。

这三条路对应三种人。做数据管道的人多半只用 Python 接口;习惯在终端里试错的人喜欢 shell;把采集交给智能体的人,碰的是 MCP。

边界还是那条边界

能力越强,越要先想清楚抓什么。公开文档、公开报价、公开发布的政策文件,属于常规用途。对方站点明确写了不许自动访问,或者内容要登录才看得到,那就别碰。Scrapling 的 Spider 可以选择遵守 robots.txt,也支持按域名限定范围,把采集留在目标站内,不跑偏。频率同样值得克制,一天一两次足够看清变化,没必要把对方服务器当成压力测试的对象。

Scrapling 0.5.1 的价值不在「能抓」,而在「抓完还能直接用」:网页进它就变成干净的 Markdown,元素换了位置它自己认回来,智能体也能接手操作。整套东西开源、可本地跑,代价是它终究是个需要写代码的工具,指望开箱即用的人会失望。真正吃得上这份便利的,是已经在自建知识库,或者正在给智能体搭取数链路的人。
Scrapling下载地址
支持的操作系统: Windows macOS Linux