requests, pandaskbzw__user_login Cookie)Cookie 存储在 Skill 目录下的 references/cookie.json:
json
{
"kbzw__user_login": "用户输入的cookie值",
"updated_at": "2026-04-28"
}
每次执行任务前,先检查 references/cookie.json 是否存在且包含 kbzw__user_login
如果不存在或为空, 立即停止数据抓取,向用户发送以下提示: text
【集思录登录Cookie缺失】
本Skill需要集思录登录Cookie才能获取完整数据(尤其是强赎/下修等会员数据)。
请按以下步骤获取 kbzw__user_login:
用Chrome/Edge打开 https://www.jisilu.cn/ 并登录账号
F12打开开发者工具 → Application/应用 → Cookies → https://www.jisilu.cn
找到名为 kbzw__user_login 的Cookie,复制其Value值
将Cookie值粘贴给我
获取后我将自动保存,后续每日抓取无需重复输入。
3. 收到用户提供的 Cookie 后,写入 `references/cookie.json`,然后继续执行
## 数据源与接口
### 接口1:可转债基本数据
- **URL**: `https://www.jisilu.cn/web/data/cb/list`
- **方法**: GET
- **Headers**:
text
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Referer: https://www.jisilu.cn/web/data/cb/list Cookie: kbzw__user_login={cookie值}
- **返回格式**: JSON
json
```json
{
"rows": [
{
"id": "123045",
"cell": {
"bond_id": "123045",
"bond_nm": "某转债",
"price": "105.500",
"increase_rt": "+1.23%",
"stock_nm": "某正股",
"sprice": "10.50",
"sincrease_rt": "+2.10%",
"convert_price": "12.50",
"convert_value": "84.00",
"premium_rt": "25.60%",
"force_redeem_price": "16.25",
"put_convert_price": "8.75",
"year_left": "3.520",
"ytm_rt": "2.35%",
"rating_cd": "AA+",
"dblow": "131.10",
"force_redeem": null,
"maturity_dt": "2027-06-15"
}
}
]
}
URL: https://www.jisilu.cn/web/data/cb/redeem
方法: GET
Headers: 同上,需携带 Cookie
关键字段(预期):
bond_id: 转债代码bond_nm: 转债名称redeem_count: 已满足强赎天数redeem_trigger: 强赎触发条件(如 15/30)redeem_status: 强赎状态(如"公告强赎"、"暂不强赎"、"倒计时中")redeem_price: 赎回价格last_redeem_dt: 最后交易日URL: https://www.jisilu.cn/web/data/cb/adjust
方法: GET
Headers: 同上,需携带 Cookie
关键字段(预期):
bond_id: 转债代码bond_nm: 转债名称adjust_count: 已满足下修天数adjust_trigger: 下修触发条件adjust_status: 下修状态(如"已公告下修"、"董事会提议"、"倒计时中")adjust_price: 拟下修价格(如有)adjust_dt: 下修股东大会日期python
import json, os
cookie_path = os.path.join(os.path.dirname(__file__), "../references/cookie.json")
if not os.path.exists(cookie_path):
# 触发Cookie缺失提示,等待用户输入
raise FileNotFoundError("Cookie文件缺失,请按Skill说明提供kbzw__user_login")
with open(cookie_path, "r", encoding="utf-8") as f:
cookie_data = json.load(f)
kbzw_cookie = cookie_data.get("kbzw__user_login", "")
if not kbzw_cookie:
raise ValueError("kbzw__user_login为空,请重新提供")
requests.get() 访问 https://www.jisilu.cn/web/data/cb/listkbzw__user_login={kbzw_cookie}rows → cell 中的字段https://www.jisilu.cn/web/data/cb/redeembond_id 为键,与基本数据做 LEFT JOINhttps://www.jisilu.cn/web/data/cb/adjustbond_id 为键,与已有数据做 LEFT JOIN% 符号,转为 floatYYYY-MM-DD 格式force_redeem 为空表示"暂不强赎"; adjust_status 为空表示"未触发下修"bond_id 去重,保留最新记录数据保存为 CSV,按日期命名:
text
output/
└── jisilu_cb_2026-04-28.csv
CSV 必须包含以下核心字段:
字段名来源说明bond_id基本数据转债代码bond_nm基本数据转债名称price基本数据转债现价increase_rt基本数据转债涨跌幅stock_nm基本数据正股名称sprice基本数据正股现价premium_rt基本数据溢价率convert_price基本数据转股价year_left基本数据剩余年限ytm_rt基本数据到期收益率rating_cd基本数据评级dblow基本数据双低值force_redeem_price基本数据强赎触发价put_convert_price基本数据回售触发价redeem_status强赎接口强赎状态redeem_count强赎接口已满足强赎天数adjust_status下修接口下修状态adjust_count下修接口已满足下修天数adjust_dt下修接口下修股东大会日期data_date系统生成数据日期(YYYY-MM-DD)
向用户汇报当日数据概况:
text
【集思录可转债数据抓取完成】
日期:2026-04-28
共抓取转债:XXX 只
其中:
- 公告强赎:XX 只
- 强赎倒计时中:XX 只
- 已公告下修:XX 只
- 下修倒计时中:XX 只
数据已保存至:output/jisilu_cb_2026-04-28.csv
异常场景处理方式Cookie 失效(返回 403/登录页)提示用户重新输入 Cookie,删除旧 cookie.json接口返回空数据记录日志,重试最多 3 次,仍失败则跳过该接口网络超时设置 timeout=30s,重试 3 次字段缺失用空值填充,不中断流程日期解析失败保留原始字符串,标注"解析异常"
如需每日自动执行,可在本地 OpenClaw 中配合 cron/systemd:
bash
# 每天 15:30 收盘后执行
30 15 * * * cd ~/.config/agents/skills/jisilu-cb-daily && python scripts/collect_jisilu_cb.py
或在 Kimi Claw 对话中每日发送指令:
text
执行 jisilu-cb-daily Skill 抓取今日可转债数据