# 服务器端网页浏览工具链

## 已安装工具（2026-06-10最终版）

### lynx — 纯文本浏览器（核心工具）
```bash
# 安装
apt-get install -y lynx

# 基本用法
lynx -dump -nolist <url>

# 宽页面（赔率表格等）
lynx -dump -nolist -width=200 <url>
```

**作用**：绕过JS渲染，直接读取网页实际内容。服务器端唯一能"看到"JS渲染后内容的工具。

### Python解析工具（已装到/opt/hermes-venv/）
```bash
/opt/hermes-venv/bin/pip install beautifulsoup4 html2text lxml
```

### Jina AI备选解析
```bash
curl -s "https://r.jina.ai/https://目标网站" -H "User-Agent: Mozilla/5.0"
```

## 已验证可访问的足球网站（按推荐度）

| 网站 | 方法 | 推荐度 |
|------|------|--------|
| FlashScore (flashscore.com) | lynx可读完整比赛列表+比分+赛程 | ★★★★★ |
| NowGoal (nowgoal.net) | lynx可读比分+赔率表格 | ★★★★★ |
| LiveScore (livescore.com) | lynx可读比赛列表 | ★★★★ |
| Goal.com | curl+bs4解析JSON（仅未来比赛） | ★★★★ |
| Wikipedia | lynx可读历史数据 | ★★★★★ |

## 已确认无法访问
- Google/Bing/Yahoo：JS强制跳转
- 所有赔率网站的数字：JS渲染
- Sofascore API：403

## 查数据标准流程
1. lynx试 → 2. curl+bs4 → 3. Jina AI备选 → 4. 换数据源 → 5. 最多试3种，查不到直说

## 关键教训
- FlashScore是lynx可读性最好的足球数据网站
- NowGoal用lynx可读比分，但赔率数字有时显示"---"
- Goal.com的JSON只显示未来比赛，已结束的要去NowGoal查
- 绝对不要编造赔率数字