# Scrapling - 自适应 Python 网页爬虫框架,内置反爬虫绕过与 MCP Server > 一站式爬虫框架,从单请求到大规模并发爬取,内置 Cloudflare 绕过、自适应解析、MCP Server,兼容 Scrapy API ## 核心特性 - **自适应解析**:网站结构变化后,解析器自动重新定位元素,爬虫脚本无需重写 - **反爬虫绕过**:`StealthyFetcher` 内置指纹伪装,一键绕过 Cloudflare Turnstile/Interstitial - **Spider 框架**:Scrapy-like API,支持并发爬取、多会话切换、暂停/恢复、流式输出 - **浏览器自动化**:`DynamicFetcher` 基于 Playwright/Chromium,支持动态加载、网络空闲等待 - **MCP Server**:内置 Model Context Protocol 服务器,AI(Claude/Cursor)可直接调用进行数据提取,减少 Token 消耗 - **代理轮换**:内置 `ProxyRotator`,支持循环/自定义策略,全会话类型通用 - **开发体验**:92% 测试覆盖率、完整类型提示、IPython 交互 Shell、curl 转代码、Docker 镜像 ## 三种 Fetcher 模式 | Fetcher | 场景 | 特点 | |---------|------|------| | `Fetcher` | 静态页面 | HTTP/3、TLS 指纹伪装、异步支持 | | `StealthyFetcher` | 反爬页面 | 绕过 Cloudflare、自动解决验证 | | `DynamicFetcher` | 动态页面 | Playwright 全浏览器自动化 | ## 代码示例 ```python from scrapling.fetchers import StealthyFetcher # 绕过 Cloudflare 获取页面 page = StealthyFetcher.fetch('https://example.com', headless=True) products = page.css('.product', auto_save=True) # 首次定位 products = page.css('.product', adaptive=True) # 网站改版后自动找回 ``` ```python from scrapling.spiders import Spider, Response class MySpider(Spider): name = "demo" start_urls = ["https://example.com/"] concurrent_requests = 10 async def parse(self, response: Response): for item in response.css('.product'): yield {"title": item.css('h2::text').get()} MySpider().start() ``` ## 适用场景 大规模数据爬取、反爬虫网站采集、AI 辅助数据提取、自动化浏览器任务 --- **分类**:源码 **标签**:爬虫 · 内置 · 绕过 **作者**:Xiao.Xi **链接**:https://octohz.com/p/1604