D4Vinci/Scrapling

🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!

解决的问题

Scrapling 解决了网络爬虫的脆弱性和复杂性。它解决了网站设计变更导致爬虫失效的问题,克服了绕过现代反机器人系统(如 Cloudflare Turnstile)的困难,并降低了从单个请求扩展到大规模并发爬取的开销。

工作原理

Scrapling 提供了一个综合工具包,集成了获取、解析和爬取功能:

  • 自适应解析:使用相似性算法在网站结构更新时自动追踪和重新定位元素,减少手动更新选择器的需求。
  • 隐蔽获取:包含专用获取器(StealthyFetcherDynamicFetcher),可伪造浏览器指纹、模拟 TLS、处理浏览器自动化,以绕过机器人检测。
  • 蜘蛛框架:提供类似 Scrapy 的 API,允许用户定义支持异步回调、并发请求数限制和自动代理轮换的蜘蛛。
  • AutoThrottle:系统根据服务器响应时间动态调整爬取速度,并在检测到限流时自动退避。
  • 会话管理:跨请求管理 Cookie 和状态,并支持 DNS-over-HTTPS 以防止泄露。

适用人群

专为需要大规模从现代动态网站收集数据,同时最小化维护成本并避免被封禁的网络爬虫和数据工程师设计。

主要亮点

  • 自适应爬取:即使网站设计变更,也能自动定位元素。
  • 反机器人绕过:内置功能可处理 Cloudflare Turnstile 等机器人防护机制。
  • 全规模爬取:支持并发爬取、暂停/恢复检查点,以及实时结果流式输出。
  • 灵活获取:支持标准 HTTP、无头浏览器(Playwright/Chrome),以及通过 CDP 连接远程浏览器。
  • API 捕获:可捕获后台 XHR/fetch 响应,无需逆向工程 API 即可提取数据。
  • 预置模板:包含针对站点地图、XML/CSV 饲料和 Shopify 商店的专用蜘蛛。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目