今日 GitHub Trending 榜单热门项目实测推荐
一、先说一个爬虫人的噩梦 🌧️
你花了好几天,写好了一套爬虫脚本,跑得好好的。
结果第二周,目标网站更新了,CSS 类名全变了。
脚本报错,数据断了,你只能重新打开 DevTools,一个一个重新找选择器……
这种经历,爬过数据的人都懂。
二、今天的主角:Scrapling ⭐59,200+
GitHub:D4Vinci/Scrapling
今天 GitHub Trending 榜单上出现了一个狠角色——
Scrapling,一个自适应 Python 爬取框架。
它最厉害的一点:网站改版了,它能自己找回元素,不需要你改代码。
不是玄学,是它内置了相似度算法,能在 DOM 树变化后自动重新定位目标元素。
三、它能做什么?分三层说清楚 🧱
第一层:解析引擎,性能极强
Scrapling 的底层解析器速度与 Scrapy/Parsel 持平,比 BeautifulSoup4 快 700 倍以上。
没错,不是快一点,是 700 倍。
同时支持 CSS 选择器、XPath、正则、文本搜索四种方式定位元素,选你熟悉的来。
第二层:爬取器,三种模式覆盖所有场景
| |
|---|
Fetcher | |
DynamicFetcher | 需要 JavaScript 渲染,基于 Playwright |
StealthyFetcher | 高难度网站,自动绕过 Cloudflare Turnstile |
👇 三行代码,绕过 Cloudflare 拦截页面:
python
from scrapling.fetchers import StealthySession
with StealthySession(headless=True, solve_cloudflare=True) as session:
page = session.fetch('https://目标网站.com')
data = page.css('.content').get()
内置代理轮换、广告域名屏蔽(约 3500 个)、DNS-over-HTTPS 防泄漏,安全又干净。
第三层:Spider 框架,大规模爬取全套支持
对于需要系统性爬取的场景,Scrapling 内置了完整的 Spider 框架:
✅ 并发控制、速率限制 ✅ 暂停/恢复(Ctrl+C 停,重启继续) ✅ 流式处理(边爬边输出) ✅ 自动检测被封请求并重试 ✅ JSON/JSONL 直接导出
写法和 Scrapy 很像,老用户上手零成本。
四、最惊喜的隐藏功能:MCP 服务器 🤖
这个细节很多人忽略了——
Scrapling 内置了 MCP 服务器,可以直接与 Claude、Cursor 等 AI 工具 集成。
bash
pip install "scrapling[ai]"
装完之后,AI 可以直接调用 Scrapling 执行爬取任务,结果以结构化格式返回,大幅减少 Token 消耗。
这意味着什么?你可以用自然语言告诉 AI "帮我抓这个页面的产品数据",它会自动调用 Scrapling 完成,不需要你写一行代码。
五、不想写代码?直接用命令行 💻
Scrapling 还自带 CLI,零代码直接爬:
bash
# 启动交互式 Shell(类似 Scrapy Shell)
scrapling shell
# 直接提取内容保存为文件
scrapling extract get 'https://example.com' output.md
# 隐身模式爬取,自动破解 Cloudflare
scrapling extract stealthy-fetch 'https://某防护网站.com' result.html --solve-cloudflare
对于临时性的数据提取需求,这比写脚本方便多了。
六、和主流工具的正面对比 📊
下面是官方基准测试数据,测试环境为 5000 个嵌套 DOM 元素:
数据不会骗人。BS4 用习惯了的同学,可以考虑迁移了。
七、快速上手,三步搞定 🚀
第一步:安装
bash
pip install "scrapling[fetchers]"
scrapling install
第二步:写一个最简单的爬取
python
from scrapling.fetchers import Fetcher
page = Fetcher().get('https://quotes.toscrape.com/')
quotes = page.css('.quote .text::text').getall()
print(quotes)
第三步:进阶——加上自适应追踪
python
# 把元素保存到数据库,网站改版后自动重新定位
element = page.css('.price')[0]
element.save(identifier='product_price') # 保存特征
# 下次页面变了,依然能找到
八、适合谁用?
✅ 数据工程师:日常数据采集、定时抓取,不怕网站改版 ✅ AI 应用开发者:配合 MCP 做 AI Agent 的数据获取层 ✅ 爬虫初学者:CLI 和 Shell 模式零门槛入门 ✅ 老 Scrapy 用户:API 兼容,迁移成本低
九、写在最后
爬虫这个事,最烦的不是写,是维护。
网站一改版,之前的心血全白费。
Scrapling 做的就是这件事:让你写一次,长期用。
59,200 个 Star 不是凑的,背后是无数开发者投的真实票。
感兴趣的话,GitHub 搜索 D4Vinci/Scrapling 就能找到,文档还有中文版本,上手很友好。
项目地址: https://github.com/D4Vinci/Scrapling
「简一陪伴站」| 每天一个好用的开源工具