API 参考

爬虫配置

爬虫模块配置说明。

爬虫配置

配置前缀: nebula.crawler

基础配置

nebula:
  crawler:
    enabled: true

代理池配置

配置前缀: nebula.crawler.proxy

nebula:
  crawler:
    proxy:
      enabled: true
      min-available: 10                # 最小可用代理数
      check-url: https://www.baidu.com # 代理检测URL
      check-timeout: 5000              # 检测超时(ms)
      check-interval: 300000           # 检测间隔(ms)
      max-fail-count: 3                # 最大失败次数
      blacklist-expire-hours: 24       # 黑名单过期时间(小时)
      static-proxies:                  # 静态代理列表
        - http://proxy1:8080
        - http://proxy2:8080
      api-sources:                     # API代理源
        - name: provider1
          url: http://api.provider.com/get
          format: json
          priority: 100

验证码配置

配置前缀: nebula.crawler.captcha

nebula:
  crawler:
    captcha:
      enabled: true
      local-ocr-enabled: true          # 启用本地OCR
      ocr-engine: ddddocr              # OCR引擎: tesseract, ddddocr
      ddddocr-urls:                    # ddddocr服务地址列表(支持负载均衡)
        - http://localhost:8866
      opencv-urls:                     # OpenCV服务地址列表(支持负载均衡)
        - http://localhost:8867
      local-slider-enabled: true       # 启用本地滑块检测
      local-rotate-enabled: true       # 启用本地旋转检测
      local-click-enabled: true        # 启用本地点击检测
      min-length: 4                    # 验证码最小长度
      max-length: 6                    # 验证码最大长度
      default-timeout: 60000           # 默认超时(ms)
      providers:                       # 第三方平台
        - name: provider1
          api-key: xxx
          enabled: true
          priority: 1

HTTP爬虫配置

配置前缀: nebula.crawler.http

nebula:
  crawler:
    http:
      enabled: true
      connect-timeout: 30000           # 连接超时(ms)
      read-timeout: 60000              # 读取超时(ms)
      write-timeout: 60000             # 写入超时(ms)
      max-connections: 200             # 最大连接数
      max-connections-per-host: 20     # 每主机最大连接数
      keep-alive-time: 300000          # 连接保活时间(ms)
      retry-count: 3                   # 默认重试次数
      retry-interval: 1000             # 重试间隔(ms)
      use-proxy: false                 # 是否使用代理
      default-qps: 5.0                 # 默认QPS限制
      follow-redirects: true           # 是否跟随重定向
      trust-all-certs: false           # 是否信任所有证书(仅测试环境)
      user-agents:                     # User-Agent池(随机轮换)
        - "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/120.0.0.0"
        - "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 Chrome/120.0.0.0"

浏览器爬虫配置

配置前缀: nebula.crawler.browser

支持两种运行模式:LOCAL(本地启动浏览器) 和 REMOTE(连接远程 Playwright Server)

nebula:
  crawler:
    browser:
      enabled: true
      mode: REMOTE                     # 运行模式: LOCAL 或 REMOTE
      browser-type: chromium           # 浏览器类型: chromium, firefox, webkit
      headless: true                   # 无头模式(仅LOCAL模式)
      pool-size: 5                     # 浏览器上下文池大小
      page-timeout: 30000              # 页面超时(ms)
      navigation-timeout: 30000        # 导航超时(ms)
      connect-timeout: 30000           # 连接超时(ms)(仅REMOTE模式)
      screenshot-on-error: true        # 错误时截图
      use-proxy: false                 # 是否使用代理
      viewport-width: 1920             # 视口宽度
      viewport-height: 1080            # 视口高度
      disable-images: false            # 禁用图片加载
      disable-css: false               # 禁用CSS加载
      slow-mo: 0                       # 慢速模式延迟(ms)(仅LOCAL模式)
      # 远程配置(REMOTE模式)
      remote:
        endpoints:                     # Playwright Server端点列表
          - ws://localhost:9222
        load-balance-strategy: ROUND_ROBIN  # 负载均衡: ROUND_ROBIN, RANDOM, LEAST_CONNECTIONS
        health-check-interval: 30000   # 健康检查间隔(ms)
        max-retries: 3                 # 连接失败重试次数
        retry-interval: 1000           # 重试间隔(ms)

浏览器运行模式说明

模式 适用场景 说明
LOCAL 开发环境、单机部署 在本地启动浏览器实例
REMOTE Docker/K8s部署 连接远程 Playwright Server,支持多端点负载均衡