Scrapling - 自适应 Python 网页爬虫框架,内置反爬虫绕过与 MCP Server

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 全浏览器自动化

代码示例

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 辅助数据提取、自动化浏览器任务

2200举报0Xiao.Xi12天前
点击获取 ^_^
被收录:

暂无评论