
写爬虫这件事,很多人是从 requests + BeautifulSoup 起手的,页面一复杂就得自己补浏览器、补代理、补重试、补导出。Scrapling 想把这一整条链路收进一个库里:快速 HTTP 请求、隐身浏览器、强力解析、并发爬取,再加一个给 AI 智能体用的 MCP 服务器。今天它登上 GitHub 日榜,仓库已有 9.5 万星。
Scrapling 是 D4Vinci 开源的 Python 爬虫框架,BSD-3-Clause 协议,2024 年 10 月创建,到现在 1785 次提交、54 个版本,10,012 个 Fork。它覆盖的范围是从一次请求到全站爬取,官方的定位就是“Effortless Web Scraping for the Modern Web”。
抓取:从静态页到反爬站点
最上层是 Fetcher,发快速 HTTP 请求,还能模拟浏览器的 TLS 指纹和请求头、支持 HTTP/3。遇到需要渲染 JavaScript 的动态站,就换 StealthyFetcher,走 Playwright 的 Chromium 或谷歌 Chrome 做完整的浏览器自动化,带隐身能力,能处理 Cloudflare 的 Turnstile/Interstitial 验证。
会话是持久的,Cookie 和状态可以在多次请求间保留;代理轮换内置在库里,支持按循环或自定义策略轮换,也支持单次请求指定代理。浏览器模式下还能屏蔽指定域名、内置约 3500 个已知广告与追踪域名的广告屏蔽,以及用 DNS-over-HTTPS 防止代理场景下的 DNS 泄漏。还有一个少见的功能:开着浏览器会话时可以后台捕获它发出的 API 请求,再去搜这些保存下来的响应,等于是把页面背后的接口也顺手抓下来。
解析与爬取:CSS、XPath、正则都能用
解析支持 CSS、XPath、文本和正则搜索,还有自适应元素跟踪(页面结构变了也能跟上)、相似元素匹配,输出可以是干净的 Markdown。写爬虫用 Scrapy 风格的 Spider API:定义 start_urls 和异步 parse 回调,用 Request/Response 对象组织逻辑。
爬取层面有并发控制、按域名的限速和下载延迟、自动重试、AutoThrottle(按目标站点的响应速度自己调延迟,被限速就自动加倍、恢复后再加速)、暂停与恢复(Ctrl+C 优雅停止,下次用同一个目录接着跑)、流式输出、robots.txt 遵守开关,还有 CrawlSpider、SitemapSpider、XMLFeedSpider、CSVFeedSpider、ShopifySpider 这些现成的模板。结果导出支持 JSON、JSONL、CSV、XML。
给 AI 智能体准备的 MCP 与 Skill
比较新的一点是,Scrapling 自带 MCP 服务器和 Agent Skill,AI 智能体可以直接通过 MCP 浏览网页、提取数据;人也可以在终端里用 CLI 命令和交互式 shell 操作。等于同一套能力,三种入口:Python 代码、终端、AI 智能体。
上手:三行抓一个页面
安装就是一条命令:
pip install scrapling
抓一个页面、取字段,写法很短:
from scrapling.fetchers import Fetcher
page = Fetcher.get('https://quotes.toscrape.com/')
quotes = page.css('.quote .text::text').getall()
print(quotes)
要扩成爬虫,就用 Spider:
from scrapling.spiders import Spider, Response
class QuotesSpider(Spider):
name = "quotes"
start_urls = ["https://quotes.toscrape.com/"]
async def parse(self, response: Response):
for quote in response.css('.quote'):
yield {
"text": quote.css('.text::text').get(),
"author": quote.css('.author::text').get(),
}
result = QuotesSpider().start()
print(len(result.items)) # 10
result.items.to_json("quotes.json")
完整的用法、选择器、会话管理和 MCP 配置都在官方文档 scrapling.readthedocs.io。想跟进更新可以看它的 Discord 和 X 账号 @Scrapling_dev。
一句话总结:如果你平时要固定抓一批页面、或者想让手头的 AI 智能体自己去网上取数,Scrapling 把请求、渲染、反爬、解析、爬取、导出这一套都包了,9.5 万星的体量也说明它经得起用。
同样带 Agent Skill 的工具,可以看看 mattpocock/skills:31 万星的 Agent Skills 合集;想让 AI 智能体直接操作桌面应用,可以看看 agent-desktop:Vercel 开源的电脑操作 CLI。
转自 GitHub 仓库 D4Vinci/Scrapling 的 README,原文链接:https://github.com/D4Vinci/Scrapling











暂无评论内容