User 2026-07-30 实战需求: - 不跑频率 (5 期数据无意义, user 已多次确认) - 不混 Qi-1 期号码 (081 已开, 不算 082 资料) - 只用挂牌 (sol.2344a.cc) + 玄机诗 + 红字 推演 - 输出 Top 5 特码 + 重点金额分配 (15 元 = 5/4/3/2/1) 脚本 lottery_te_ma.py: - 拿综合挂牌列表 + 详情 (彩图挂 / 另版挂 / 爆 / 尾数) - 拿玄机诗 (诗象 / 彩霸王 / 玄机字 / 红马蓝狗) - 拿红字 (大数偏多) - 权重排序, 输出特码候选 + 重点分配表 SKILL.md description 加 lottery_te_ma.py 指引, scripts 用法段加特码分析子段 + 不要项 (不再跑偏)
260 lines
16 KiB
Markdown
260 lines
16 KiB
Markdown
---
|
||
name: lottery-hk
|
||
description: "香港六合开奖抓取与分析。数据源: sol.2344a.cc(2026-07-29 替代 sol.0051.cc) + btc.tktk.app/data/v_xg.json + tktk.tktk4.cc。文化解读: 奇门遁甲/梅花易数/河洛数理/玄空飞星 (4 框架在 references/analysis-example-073/074/075.md, 不是脚本, agent 用 example 推演)。SQLite 存数据, analytical 标注'文化娱乐参考'。硬规则: (1) 所有时间默认北京时间 UTC+8; (2) 挂牌日 = 开彩日 (sol.2344a.cc 帖子时间戳 = 实际开奖日, 同天); (3) v_xg.json Qi=下次将开期号, Nq=再下期, Week/Day=Qi 期开彩日, Data.1-7=Qi-1 期已开号码; (4) agent 推送格式必须标 (北京时间), 不写刚开/最新; (5) 用户问'从哪取'只答来源一行, 不展开。必读: references/v_xg-qi-pitfall.md (Qi 字段语义陷阱实战)。特码分析: scripts/lottery_te_ma.py (纯挂牌, 不混 Qi-1 期数据, 输出 Top 5 特码 + 重点金额分配)。"
|
||
version: 1.2.5
|
||
tags: [lottery, hk, 六合彩, analysis, sol-2344a, qdrant-memory]
|
||
|
||
---
|
||
|
||
# 香港六合开奖分析
|
||
|
||
**⏰ 时区规则(硬规则)**: 所有时间默认 **北京时间(UTC+8)**。v_xg.json 的 `Week`/`Day`/`Year`/`Moon` 是 **Qi 期(下次将开)** 的开彩日。挂牌日 = 开彩日 (sol.2344a.cc 帖子时间戳 = 实际开奖日, 同天)。任何"周几"都指北京时间;写 QQ 推送必须带"北京时间"字样或 +8 时区。
|
||
|
||
**⏰ 沟通风格**: 用户要"直接说怎么取的,不要分析/解释"。回答"081 是周几"时,直接说"来源是 v_xg.json Week=周四" — 不分析"为什么不是周二"。
|
||
|
||
**📦 4 框架 (奇门/梅花/河洛/玄空) 的位置**:
|
||
- **真脚本**: `scripts/lottery_4frame.py` (4 步流程, 自动跑)
|
||
- **Reference**: `references/analysis-example-073/074/075.md` (073 真实推演示范: 3 步 v_xg+挂牌+红字)
|
||
- **不要**: agent 写 河洛/梅花/玄空/奇门 公式, reference 没推演方法, 拍脑袋推的没意义
|
||
- **Cron 直接调 `python3 lottery_4frame.py` 拿完整分析**, agent 不需要手动算
|
||
|
||
**⚠️ 4 框架 ≠ agent 自己造公式 (2026-07-30 实战)**: user 问"4 框架"时,**先 cat `references/analysis-example-073/074/075.md` 看实际推演流程**。073 example 是 3 步: (1) v_xg.json 五行统计 (2) 综合挂牌解读 (爆/出肖) (3) 六信红字。**不要**自己写 河洛洛书九宫 / 梅花起卦 / 玄空飞星盘 / 奇门遁甲 公式,这些 reference 没推演方法,agent 拍脑袋推的没意义。**改用 `lottery_4frame.py` 脚本跑。**
|
||
|
||
**5 期数据 (analyze 频率) 没意义**: `lottery.py analyze` 输出 5 期冷热号,数据量太少,user 已明确说"不要跑频率,没有意义"。`analyze` 只用作辅助核对,不是主要分析方法。
|
||
|
||
从天空彩票抓取香港六合彩开奖结果,提供数据分析。**数据存SQLite,不存图片。**
|
||
|
||
## 数据源
|
||
### 主站
|
||
- 主站: https://tktk.tktk4.cc/ww.htm(首页,含iframe开奖倒计时)
|
||
- **资料站**: https://sol.2344a.cc/(所有挂牌/解牌/玄机资料实际托管在此, 2026-07-29 已迁移)
|
||
- 综合挂牌: https://sol.2344a.cc/zongheguapai/ ← 首选挂牌数据源
|
||
- 六信红字: https://sol.2344a.cc/lxhz/
|
||
- 梅花诗/玄机: https://sol.2344a.cc/xuanjiziliao/
|
||
- 解牌: https://sol.2344a.cc/jiepai/
|
||
- 平碼平肖: https://sol.2344a.cc/pingxiaopingma/
|
||
- **ai.c8c.cc** (NOT sol.2344a.cc 替代): 六合站, 与 sol 系列无关
|
||
|
||
### 当前开奖JSON API
|
||
- **v_xg.json**: `https://btc.tktk.app/data/v_xg.json`(直接返回JSON,无需浏览器)
|
||
- **Qi 字段语义 (pitfall)**: Qi 是**下一次将开**的期号, 不是"已开"。**真开奖**要从 sol.2344a.cc 挂牌历史 / 数据库历史查
|
||
- **sol.2344a.cc 历史API**: `/e/api/api.php?get=sixlist&year=YYYY` 仍返回空 (历史AJAX失效)
|
||
|
||
### 开奖时间
|
||
- 每周二、四、六 21:30(北京时间)
|
||
- 49个号码,6个平码 + 1个特码
|
||
|
||
### tktk API架构(从public.js逆向)
|
||
|
||
tktk Vue.js应用的数据源URL模式: `https://btc.tktk.app/data/v_{cod}.json?{timestamp}`
|
||
|
||
| cod | 彩种 | 说明 |
|
||
|-----|------|------|
|
||
| xg | 香港六合 | 每周二/四/六 21:30 |
|
||
| 48am | 天天澳门彩 | 每天 22:14-22:40 |
|
||
| am | 新澳门六合 | 每天 21:14-21:40 |
|
||
| tw | 台湾六合 | 每天 20:28-20:58 |
|
||
| xjp | 新加坡六合 | 每天 18:35-18:55 |
|
||
| fckl8 | 快乐8 | 每天 21:25-21:40 |
|
||
|
||
JSON返回格式:
|
||
```json
|
||
{
|
||
"Data": {
|
||
"1": {"nim":"金","number":"34","color":"红","style":"red","sx":"鸡"},
|
||
"2": {...}, ... "7": {...}
|
||
},
|
||
"Time": "21点30分", "Day": "05", "Moon": "07", "Year": 2026,
|
||
"Qi": "071", "Nq": "072", "Week": "周日", "Auto": false
|
||
}
|
||
```
|
||
- `Data.1`-`Data.6`: 平码,`Data.7`: 特码
|
||
- `Qi`: 当前期号(下次将开),`Nq`: 下期号
|
||
- `nim`: 五行,`sx`: 生肖,`color`: 波色(红/蓝/绿)
|
||
|
||
### ⚠️ 重要: v_xg.json 字段语义陷阱
|
||
- **正确**: Qi = 下一次将开期号,不是"已开";Nq = 下下期;Week/Day/Year/Moon 都是**下期**的开奖时间
|
||
- **7 号码 (Data.1-7)**: 真已开期号的号码(Qi-1 期的结果)
|
||
- **实战 (2026-07-29)**: cron 周二 14:00 (7/28 22:00) 跑, v_xg.json Qi=081 (7/30 周四下次将开), 7 号码是 080 期(已开);081 期要等 7/30 周四 21:30
|
||
- **取下下期 / 周几等时间**: 拿 v_xg.json 即可(Qi/Nq/Week/Day 都是下期时间)
|
||
- **取真刚开期号 + 号码**: 7 号码是 Data.1-7 + sol.2344a.cc 挂牌历史索引 Qi-1 期号,或数据库 history 表
|
||
|
||
## 数据存储
|
||
|
||
**SQLite数据库**: `~/.hermes/trading/lottery.db`
|
||
|
||
- `draws` 表: 开奖记录(期号、日期、6个号码+特码、生肖、五行、波色)
|
||
- `cold_data` 表: 冷数据(key-value,网页文本内容)
|
||
- `image_links` 表: 图片链接(类别、标题、URL、期号,不下载图片)
|
||
- **不存图片文件**,图片类只存URL链接
|
||
|
||
## 脚本用法
|
||
|
||
```bash
|
||
SCRIPT=~/.hermes/skills/trading/lottery-hk/scripts/lottery.py
|
||
|
||
python3 $SCRIPT add <期号> <号码> # 手动添加
|
||
python3 $SCRIPT add_full <期号> <号码> <生肖> # 手动添加(带生肖)
|
||
python3 $SCRIPT history [期数] # 查看历史
|
||
python3 $SCRIPT analyze # 分析(频率/热号/冷号/生肖/五行/波色)
|
||
python3 $SCRIPT zodiac # 生肖号码对照表
|
||
python3 $SCRIPT next # 下期开奖时间
|
||
python3 $SCRIPT import_json <文件> # 导入JSON历史数据
|
||
python3 $SCRIPT save_cold <key> <content> # 保存冷数据
|
||
python3 $SCRIPT get_cold <key> # 读取冷数据
|
||
python3 $SCRIPT save_image <类别> <标题> <URL> [期号] # 保存图片链接
|
||
python3 $SCRIPT list_images [类别> # 列出图片链接
|
||
```
|
||
|
||
### 特码分析 (scripts/lottery_te_ma.py)
|
||
|
||
**纯挂牌分析**(不混 Qi-1 期数据,不跑频率):
|
||
|
||
```bash
|
||
python3 ~/.hermes/skills/trading/lottery-hk/scripts/lottery_te_ma.py [期号]
|
||
```
|
||
|
||
输出:
|
||
- Top 5 特码候选(按挂牌共识权重排序)
|
||
- 重点金额分配(默认 ¥15 = 5/4/3/2/1)
|
||
- 来源映射(挂牌链接 + 玄机诗)
|
||
|
||
**不要**:
|
||
- 不要混 Qi-1 期 (081 期) 号码 (Qi-1 已开, 不算 082 资料)
|
||
- 不要跑 `lottery.py analyze` (5 期数据无意义)
|
||
- 不要 agent 自己写 4 框架玄学公式 (河洛/梅花/玄空/奇门, reference 没推演方法)
|
||
|
||
## 生肖映射(网站实际映射,已验证)
|
||
|
||
网站的生肖表和标准12生肖轮转不同,用 mod 12 映射:
|
||
```
|
||
0=狗, 1=猪, 2=蛇, 3=马, 4=羊, 5=虎, 6=兔, 7=鼠, 8=牛, 9=猴, 10=鸡, 11=龙
|
||
```
|
||
071期验证: 34=鸡(34%12=10)✅, 46=鸡(46%12=10)✅, 17=虎(17%12=5)✅
|
||
|
||
## 冷数据 vs 热数据
|
||
|
||
**🧊 冷数据**(存cold_data表,不常变):
|
||
- 歷史、生肖表、日期、常識、全年、技巧、規律、策略
|
||
|
||
**🔥 热数据**(每期更新):
|
||
- 開獎、掛牌、解牌、綜掛、平碼平肖、玄机资料、论坛高手推荐等
|
||
|
||
## 参考资料
|
||
|
||
- 用户说"六合"、"开奖"、"彩票"、"特码"
|
||
- 用户问"今天开什么"、"最近开奖号码"
|
||
|
||
## 注意事项
|
||
|
||
- 页面用Vue.js动态加载,非开奖时间段(21:14-21:40外)可能无数据
|
||
- 图库类页面(玄机图库、经典图库等)是图片,不抓取
|
||
- 网站有大量博彩广告,解析时需过滤
|
||
|
||
### 📌 082 期实战案例 (2026-07-29 凌晨, 用户多次纠正)
|
||
|
||
**事件流**:
|
||
1. cron `668dcf3ec54d lottery-draw-result` 14:00 UTC (= 北京 22:00) 跑
|
||
2. v_xg.json `Qi=081, Nq=082, Week=周四, Day=30`
|
||
3. agent 推: "081 期 = 7/30 周四 21:30 开彩" — **错**(实际 081 = 7/28 周二)
|
||
4. agent 推: "082 期 = 8/1 周六 21:30" — **错**(实际 082 = 7/30 周四)
|
||
5. 用户反复纠正"081 时间错 / 不要分析 / 你直接跑不行吗"
|
||
6. **真相**: 挂牌日 = 开彩日 (sol.2344a.cc 挂牌 07-28 13:35 = 081 周二开彩)
|
||
|
||
**坑 1 (v_xg.json 字段)**: `Week`/`Day` 是 **Qi 期开彩日** (下次将开),不是"当前期"。
|
||
- Qi=081 → 081 周二开 (7/28)
|
||
- Week=周四 → 081 错的,实际 Qi 周二是周二,但 Week 字段是 Qi 期开彩日 — **这是 agent 多次误读的根本原因**
|
||
|
||
**坑 2 (挂牌日 vs 开彩日)**: sol.2344a.cc 挂牌帖的发布时间 ≠ 开彩日,实际是**同一天**(挂牌发出来当天就是开彩日)。**挂牌提前 2-3 天的旧描述是错的**。
|
||
|
||
**坑 3 (沟通)**: agent 答 "081 是周几" 时,反复用"为什么不是周二"的长篇分析 → 用户纠正"我说了,你不要分析,只说怎么取的就行了"。
|
||
|
||
**正确做法**:
|
||
- 用户问"081 是周几" → 一行答: "挂牌日 = 开彩日, sol.2344a.cc 07-28 13:35 挂牌 = 081 周二开彩 (北京时间 21:30)"
|
||
- **不展开** "为什么" / "不是周四" / "Qi 字段语义"
|
||
- 出错立刻认错,不要找理由
|
||
|
||
## 🚨 硬规则 (每次推送前自检)
|
||
|
||
1. **时区**: 所有时间默认 **北京时间 (UTC+8)**, 必须标"(北京时间)"后缀
|
||
2. **挂牌日 = 开彩日** (硬规则): sol.2344a.cc 挂牌帖时间戳 = 实际开奖日,**同天**。旧描述"挂牌提前 2-3 天"是错的。
|
||
3. **v_xg.json 字段**:
|
||
- `Qi` = 下次将开期号
|
||
- `Data.1-7` = Qi-1 期 已开号码 (7 个)
|
||
- `Week`/`Day`/`Year`/`Moon` = Qi 期 开彩日 (北京时间) — **不是"当前期"**
|
||
- `Nq` = 再下期
|
||
4. **推送格式**: 不写"刚开"/"最新" — 用具体期号+明确日期
|
||
5. **沟通**: 用户要直接说数据来源,不要长篇分析
|
||
6. **4 框架分析**: **直接调 `python3 scripts/lottery_4frame.py`**(4 步流程: v_xg.json + 综合挂牌 + 六信红字 + 玄机诗),**不要 agent 自己造公式**(reference 073 流程是 3 步推演,不是 4 框架玄学公式)。`lottery.py` 不支持 4 框架。
|
||
|
||
## 🚨 用户偏好 (2026-07-30 实战反复纠正, 必读)
|
||
|
||
1. **直接说从哪取的, 不要分析/解释** — 回答"081 是周几" → 一行答 "sol.2344a.cc 07-28 13:35 挂牌 = 081 周二开彩", **不展开** "为什么不是周四" / "Qi 字段语义" / 长篇对比
|
||
2. **出错立刻认错, 不要 "分析" 或 "等回话"** — 知道错了就立刻重做正确的事, 不要"让我再想想"/"让我检查一下"
|
||
3. **不要在回复结尾加 "A/B/C 简单回答" 选项** — 这是 agent 自己加的回复模板, **不是用户让的** (2026-07-30 user 指出 "这是什么技能输出的" — 实际没有这个 skill, 是我加的)
|
||
4. **看到 "4 框架" / "跑 X 框架" 关键词, 不要立刻自己推公式** — 先看 `references/analysis-example-073/074/075.md` 用 example 方法推演, 不是自己写
|
||
5. **挂错 / 跑错 / 答错不要重发分析, 立刻重做** — 用户说 "你直接跑不行吗" 意思是: **别说废话, 重做**
|
||
|
||
### Pitfalls (2026-07-29 更新)
|
||
|
||
- **sol.2344a.cc 全站 200 OK** (替代失效的 sol.0051.cc):
|
||
- https://sol.2344a.cc/zongheguapai/ ✅
|
||
- https://sol.2344a.cc/lxhz/ ✅
|
||
- https://sol.2344a.cc/xuanjiziliao/ ✅
|
||
- https://sol.2344a.cc/jiepai/ ✅
|
||
- https://sol.2344a.cc/pingxiaopingma/ ✅
|
||
- 挂牌帖含 "080期/081期" + 发布日期, 可索引历史
|
||
|
||
- **v_xg.json 字段语义 (硬规则)**: Qi/Nq/Week/Day/Year/Moon 都指**下期**(不是当前期)。Data.1-7 才是 Qi-1 期号码。详见上文重要Pitfall
|
||
- 实战案例 (2026-07-29 凌晨 0:43 北京): v_xg.json Qi=081 (7/30 周四下次将开), Data.1-7 是 080 期(7/28 周二已开)号码
|
||
- 挂牌日 ≠ 开奖日: sol.2344a.cc 挂牌比实际开奖早 2-3 天
|
||
- **取真刚开期号 + 号码**: 7 号码 = Data.1-7; 期号 = Qi-1; 下期时间 = Week/Day + Nq/Week
|
||
- **取真历史**: sol.2344a.cc 挂牌索引 或本地 SQLite draws 表
|
||
|
||
- **📌 推送格式偏好 (用户硬偏好, 2026-07-30 实战)**: QQ 推送用 **markdown 横向表格** (每票 1 列, 4-8 票可滑动比较)。**严禁** 1 票 1 块 (垂直堆叠), 用户说过"用列表方式显示 / 把所有表格都换成这样的"。
|
||
- 字段顺序: 名称表 + 项目表 (2 张表上下)
|
||
- 列用票代码, 行用指标 (现价/股息率/趋势/MA50/支撑/离均线/ATR/策略)
|
||
- 类似脚本: `daily_t_analysis.py` / `dividend_alert.py` / `cn_dividend_buy_timing.py` 全部已转横向表格
|
||
- **时间默认北京时间(用户硬规则, 2026-07-30)**: 任何日期时间 (挂牌/开奖/推送) 默认 UTC+8 北京时间;cron schedule UTC → 换算时也明确标"北京"
|
||
- **v_xg.json Week/Day 是下期时间** (北京时间周二/四/六 21:30)
|
||
- **挂牌日 ≠ 开奖日** (挂牌提前 2-3 天)
|
||
- **用户纠正"082 时间错"**: 因为 agent 没标"北京时间" + 没区分挂牌日和开奖日
|
||
- 沟通风格: 用户要"直接说怎么取的,不要分析/解释" — 错了立刻认错
|
||
|
||
- **v_xg.json 在 browser_navigate 下返回空白包装页**: skill文档说"直接返回JSON,无需浏览器"——但在 cron agent 模式下 terminal 被拦截,只能用 browser_navigate。此时 btc.tktk.app/data/v_xg.json 显示的是一个带 Pretty-print 复选框的包装页,JSON 内容不在 DOM 里。**临时方案**: 用 browser_snapshot(full=true) 尝试,或改用 tktk.tktk4.cc 首页的 Vue iframe 框架内的数据。
|
||
|
||
- **e/api/kj.php?xg 返回空页面**: 同样 Vue 包装,cron 模式无法获取实际开奖数据。
|
||
|
||
- **tktk.tktk4.cc 历史页 (history/) 返回 404**: 不是正确路径。
|
||
|
||
- **sol.2344a.cc 历史API仍失效**: `/e/api/api.php?get=sixlist&year=YYYY` 返回空数据(2026-07确认)。需要从挂牌帖文本提取历史期号
|
||
|
||
- **历史数据无批量API**: 目前没有可用的批量历史开奖数据API。**替代**: 从 sol.2344a.cc 挂牌列表按"期号/发布日期"索引
|
||
|
||
- **生肖表URL会过期**: sol.2344a.cc 的生肖表页面每年更新,旧URL会404。应先访问 https://sol.2344a.cc/sssx/ 列表页,找到最新年份的文章链接。
|
||
|
||
- **中文彩票站内容多为图片**: sol.2344a.cc 等网站的详细资料(公式、规律、技巧)嵌在图片中,curl/sed只能抓到文章标题索引,无法提取实际内容。需要用 browser 工具查看页面截图。
|
||
|
||
- **抓取编码**: 这些站点多为UTF-8 with BOM,curl 输出可能有 `锘` 开头(BOM标记),不影响内容但需注意。
|
||
|
||
## 参考资料
|
||
|
||
- `references/zodiac-table.md`: 2026年完整生肖五行波色对照表(号码→生肖→五行→波色→分类)
|
||
- `references/draw-dates.md`: 2021-2023年搅珠日期(JS日历数据)
|
||
- `references/v_xg-qi-pitfall.md`: **v_xg.json Qi 字段语义陷阱实战**(2026-07-29 发现,Qi = 下次将开期号, 不是已开)
|
||
- `references/common-knowledge.md`: 生肖属性文章索引、关键概念
|
||
- `references/techniques.md`: 规律秘诀文章索引(出波、波色法等)
|
||
- `references/patterns.md`: 固定规律文章索引(日期定波、杀肖、出尾等)
|
||
- `references/strategies.md`: 买码建议文章索引(赢钱秘诀、七戒律等)
|
||
|
||
## 定时任务
|
||
|
||
| 任务 | 时间(UTC) | 内容 |
|
||
|------|-----------|------|
|
||
| lottery-hot-data | 周二/四/六 11:30 (19:30北京) | 抓热数据+频率分析,推QQ |
|
||
| lottery-draw-result | 周二/四/六 14:00 (22:00北京) | 抓开奖结果入库,推QQ |
|
||
|
||
开奖时间: 21:30 北京时间 → 先抓热数据分析(19:30),开奖后抓结果(22:00)。
|
||
|
||
注意: draw-result cron 跑时 7 号码已在 sol.2344a.cc 历史挂牌文里 (提前2-3天发布), agent 应该同时查 v_xg.json (当前 Qi 下期) + sol.2344a.cc 历史挂牌 (Qi-1 真已开)。
|