
提起 Python 爬虫,大多数人第一反应是 Scrapy、BeautifulSoup 或者 Playwright。但今天要介绍的这个框架 Scrapling,最近在 GitHub 上已悄然拿下 4.3 万颗星,同时被 4 千个开发者 Fork,热度持续攀升。
它的核心理念很直接:一个库,从单次请求到全站爬取,全部搞定。
传统爬虫最大的痛点之一就是网站稍微改个布局,选择器就废了。Scrapling 为此内置了自适应解析引擎,能智能追踪元素,在网站更新后自动重新定位目标内容。
from scrapling.fetchers import StealthyFetcherStealthyFetcher.adaptive = Truep = StealthyFetcher.fetch('https://example.com', headless=True)# 首次抓取,自动保存元素特征products = p.css('.product', auto_save=True)# 网站改版后,传入 adaptive=True 重新定位products = p.css('.product', adaptive=True)这一特性解决了爬虫维护中最头疼的"改版即失效"问题。
Scrapling 提供了一套完整的异步爬虫框架,上手方式与 Scrapy 类似,但功能更丰富:
async for item in spider.stream() 实时处理数据from scrapling.spiders import Spider, Responseclass QuotesSpider(Spider): name = "quotes" start_urls = ["https://quotes.toscrape.com/"] concurrent_requests = 10 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(), } next_page = response.css('.next a') if next_page: yield response.follow(next_page[0].attrib['href'])result = QuotesSpider().start()result.items.to_json("quotes.json")Scrapling 内置多种 Fetcher,各有分工:
Fetcher | |
StealthyFetcher | |
DynamicFetcher |
搭配内置的代理轮换(ProxyRotator)、DNS 泄漏防护(DNS-over-HTTPS)、广告域名屏蔽等功能,基本能应对主流反爬机制。
Scrapling 还内置了 MCP 服务器,可与 Claude、Cursor 等 AI 工具联动,让 AI 直接调用 Scrapling 的抓取能力来精确定位页面内容,从而大幅减少 token 消耗、加快数据提取速度。
官方基准测试中,Scrapling 在 5000 个嵌套元素的文本提取中表现炸裂:
| Scrapling | 2.02 | ||
Scrapling 领先 BeautifulSoup 近 800 倍,即使对比同门师兄 Scrapy/Parsel 也毫不逊色。
不想写代码?Scrapling 还提供了强大的命令行工具,无需写一行 Python 即可完成抓取:
# 交互式爬虫 Shellscrapling shell# 直接提取页面内容(输出 Markdown)scrapling extract get 'https://example.com' content.md# 指定 CSS 选择器 + 模拟 Chromescrapling extract get 'https://example.com' content.txt \ --css-selector '#products' --impersonate 'chrome'# 绕过 Cloudflare 抓取scrapling extract stealthy-fetch 'https://example.com' result.html \ --solve-cloudflarepip install scrapling # 仅解析器(基础版)pip install "scrapling[fetchers]" # 包含请求和浏览器自动化pip install "scrapling[ai]" # MCP 服务器(AI 集成)pip install "scrapling[all]" # 全量安装scrapling install # 安装浏览器依赖也支持 Docker 一键拉取:
docker pull pyd4vinci/scrapling| 43.8k | |
| 4k | |
Scrapling 不是一个"又一个爬虫库",它真正做到了all-in-one:从轻量级单次抓取到大规模并发爬取,从绕过反爬到 AI 辅助提取,一条命令甚至一行代码就能搞定。再加上傲视群雄的解析性能和实用的 CLI 工具,4.3 万星实至名归。
如果你经常需要和数据打交道,Scrapling 值得加入你的工具箱。