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,支持多端点负载均衡 |