Files
2026-06-12 22:27:18 +08:00

184 lines
4.1 KiB
YAML

app:
name: "dongqiudi-crawler"
version: "1.0.0"
env: "development"
# 数据库配置
database:
host: "127.0.0.1"
port: 3300
database: "sbnews"
username: "sbnews"
password: "72m931X6K5eeWMpW"
charset: "utf8mb4"
prefix: "la_"
pool_size: 10
# Redis 配置
redis:
host: "127.0.0.1"
port: 6377
password: "hajiminanbeilvdou"
db: 4
# 爬虫引擎配置
crawler:
mode: "hybrid" # api_only / playwright_only / hybrid / smart
max_concurrent: 3
request_timeout: 30
max_retries: 3
retry_backoff: 2.0
# 延迟策略 (高斯分布)
delay:
base: 3.0
min: 2.0
max: 8.0
jitter: true # 随机抖动
# 会话管理
session:
rotate_interval: 300 # 秒,每5分钟轮换会话
max_requests_per_session: 50
# 反检测配置
anti_detect:
# 指纹池
fingerprint:
pool_size: 50
min_success_rate: 0.6
rotation_interval: 300 # 秒
cooldown: 60 # 使用后冷却时间
# TLS 指纹伪装 (curl_cffi)
tls:
enabled: true
impersonate: "chrome124" # 模拟 Chrome 124 的 TLS 指纹
# Playwright 反检测
playwright:
browser: "chromium"
headless: true
stealth: true
viewport:
width: 1920
height: 1080
anti_features:
remove_webdriver: true
fake_plugins: true
fake_languages: true
fake_chrome_runtime: true
disable_webrtc: true
random_viewport: true
human_mouse: true
random_scroll: true
# 代理配置
proxy:
enabled: false
rotate: true
providers: [] # 代理源列表
test_url: "https://httpbin.org/ip"
max_failures: 3
# 懂球帝 API 端点
dongqiudi:
base_url: "https://sport-data.dongqiudi.com"
web_url: "https://www.dongqiudi.com"
api:
standings: "/soccer/biz/data/standing"
schedule: "/soccer/biz/data/schedule"
match_detail: "/soccer/biz/data/match_detail"
match_menu: "/api/v2/config/match_menu"
team_info: "/soccer/biz/data/team_info"
player_stats: "/soccer/biz/data/player_stats"
live_matches: "/soccer/biz/data/live"
news: "/api/v2/article/list"
# 默认请求参数
default_params:
app: "dqd"
platform: "www"
version: "0"
language: "zh-cn"
# 采集目标联赛
targets:
- league: "中超"
league_code: "CSL"
season_id: 26322
priority: 1
active: true
- league: "中甲"
league_code: "CL1"
season_id: 26323
priority: 2
active: true
- league: "亚冠"
league_code: "ACL"
season_id: 26324
priority: 3
active: true
- league: "英超"
league_code: "EPL"
season_id: 24646
priority: 10
active: true
- league: "西甲"
league_code: "LAL"
season_id: 24651
priority: 11
active: true
- league: "德甲"
league_code: "BUN"
season_id: 24648
priority: 12
active: true
- league: "意甲"
league_code: "SA"
season_id: 24596
priority: 13
active: true
- league: "法甲"
league_code: "L1"
season_id: 24652
priority: 14
active: true
# 六合彩开奖数据源
lottery:
sources:
- name: "澳门六合彩"
code: "mc6"
category_id: 2
url: "https://4.194.133.188:8158/chajian/xam/result.txt"
- name: "香港六合彩"
code: "hk6"
category_id: 1
url: "https://4.194.133.188:8158/chajian/xg/result.txt"
# 调度器配置
scheduler:
standings_cron: "0 2 * * *" # 每天凌晨2点
schedule_cron: "0 */6 * * *" # 每6小时
live_cron: "*/5 * * * *" # 每5分钟(比赛日)
news_cron: "*/30 * * * *" # 每30分钟
content_cron: "*/10 * * * *" # 每10分钟补全文章详情
video_cron: "*/30 * * * *" # 每30分钟采集视频列表
# 日志配置
logging:
level: "INFO"
file: "logs/crawler.log"
max_size_mb: 50
backup_count: 5
format: "{time:YYYY-MM-DD HH:mm:ss} | {level:<8} | {name}:{function}:{line} - {message}"
# 告警配置
alert:
dispatch_enabled: false
wecom_webhook: ""
cooldown_seconds: 1800
request_timeout: 10