
一站式爬虫框架,从单请求到大规模并发爬取,内置 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 全浏览器自动化 |
代码示例
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) # 网站改版后自动找回
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 辅助数据提取、自动化浏览器任务
暂无评论
