بنقرة واحدة
anison-live-countdown
生成 LoveLive / BanG Dream 未来一年 live 活动倒计时报表。当前只展示 BanG Dream! 与 LoveLive!,不展示偶像大师。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
生成 LoveLive / BanG Dream 未来一年 live 活动倒计时报表。当前只展示 BanG Dream! 与 LoveLive!,不展示偶像大师。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
个股深度分析的核心工作流。当用户要求"深度分析 / 全面分析 / 帮我看看 / 值不值得买 / DCF / 机构建模 / 首次覆盖 / 投委会备忘录"等涉及个股研究的请求时触发。覆盖 A 股、港股、美股,产出 24 个报告维度(0-22,其中 `6_fund_holders` 与 `6_research` 分列)+ 51 位大佬量化评审 + 6 种机构级估值建模 (DCF/Comps/LBO/3-Stmt/Merger) + 7 种研究产物 (首次覆盖/财报解读/催化剂日历/投资逻辑追踪/晨报/量化筛选/行业综述) + 6 种决策方法 (IC Memo/DD/Porter/单位经济/VCP/再平衡) + 杀猪盘检测,最终生成 Bloomberg 风格 HTML 报告 + 社交分享战报。关键词:股票、个股、深度分析、估值、DCF、comps、首次覆盖、IC memo、杀猪盘、龙虎榜、akshare。
中港股行情追踪 — 双数据源(新浪实时 + Yahoo v8 收盘),覆盖 A 股芯片半导体 + 港股科技/LLM 概念。含大盘/板块/异动/52周位置分析 + 叙事生成。
抓取 5ch.io 实时热帖(ikioig 全板勢い)前100条,筛选20条最逆天帖子生成中日双语锐评报告,输出到 D:\hermes\5ch-reports\YYYY-MM-DD\。
将单个 cron job 输出同时推送到 Telegram 和微信;QQ 仍不可用。
美股行情追踪 — 双数据源(新浪实时 + Yahoo v8 收盘),含大盘/板块/异动/52周位置分析。
Scrape Yahoo Japan News hot topics (Yahoo!ニュース トピックス一覧) — extract article summaries and AI-generated comment digests (ヤフコメAI要約). Handles pickup pages, /articles/ pages, and comments pages with dual curl+browser approach.
| name | anison-live-countdown |
| description | 生成 LoveLive / BanG Dream 未来一年 live 活动倒计时报表。当前只展示 BanG Dream! 与 LoveLive!,不展示偶像大师。 |
# 一键执行(爬取 + 生成报表)
python3 scripts/run_all.py
# 仅用已有数据重新生成报表
python3 scripts/run_all.py --skip-scrape
# 单独运行某个爬虫
python3 scripts/scrape_bangdream.py [data/]
python3 scripts/scrape_lovelive.py [data/]
# 单独生成报表
python3 scripts/generate_report.py [data/] -p general # 微信/QQ
python3 scripts/generate_report.py [data/] -p telegram # Telegram
scripts/
common.py # 公共库:HTTP客户端、日期解析、场地映射
scrape_bangdream.py # BanG Dream! 官方站爬虫
scrape_lovelive.py # LoveLive! 系列爬虫(蓮ノ空/Liella!/虹ヶ咲/Aqours/μ's)
generate_report.py # 报表生成器(合并 JSON → markdown)
run_all.py # 一键入口
data/
bandori.json # BanG Dream 抓取结果
lovelive.json # LoveLive 抓取结果
report.md # 通用版报表(微信/QQ)
report_telegram.md # Telegram 兼容版报表
当前日报只展示以下两类;偶像大师已按用户偏好停用。
Poppin'Party / Roselia / RAISE A SUILEN / Morfonica / MyGO!!!!! / Ave Mujica / 夢限大みゅーたいぷ
蓮ノ空女学院 / Liella! / 虹ヶ咲学園 / Aqours / μ's
| 数据源 | 状态 | 方式 | 备注 |
|---|---|---|---|
| bang-dream.com/events/ | ✅ | Python requests + regex | HTML 静态渲染;列表缺日期时会抓取同域详情页日期 fallback;多日巡回自动拆分 |
| lovelive-anime.jp/*/{live,live-event,news}/ | ⚠️ | Python requests + regex | 各系列 URL 不统一;支持 〜/~ 范围、跨 today 多日过滤与多策略兜底 |
LoveLive JSON-LD 路径需优先使用 _map_ll_venue(),避免通用 map_venue() 把「ベルーナドーム」粗略映射成西武ドーム;fallback card 解析必须提取 <a href> 并用 urljoin() 存为 detail_link,不要只回填列表页 URL。
本服务器环境只能用 Python requests:
import requests
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",
"Accept-Language": "ja-JP,ja;q=0.9",
"Referer": "<source_url>", # ⚠️ 必带
}
r = requests.get(url, headers=headers, timeout=15,
proxies={"http": None, "https": None})
| 倒计时 | 标记 | 说明 |
|---|---|---|
| <0 天 | 不展示 | 已结束活动不会进入推送报表 |
| 0 天 | "今天!" | 当天活动 |
| 1-3 天 | 🔴 | 紧急 |
| 4-7 天 | 🔥 粗体 | 临近 |
| 8-30 天 | ⏳ | 关注 |
| >30 天 | 📅 | 未来 |
+Ngenerate_report.py 控制),如果事件带 detail_link/url,标题必须渲染成 Markdown 链接〜/~ 范围要补齐中间日期,范围终点不能消耗下一场 venue slot;换行分隔符不能丢,否则会导致 venue 错位。generate_report.py 只展示 date >= today 的活动,不再保留过去 7 天“已结束”行第X/Y页 拆成多个表格,避免移动端长表错位。「」 |;会保留 Markdown 表格分隔线和独立 --- 分割线页面使用 <div class="list__inner"><ul><li>... 结构,每个 <li> 内有精确字段:
class="live_title" → <p> 标题class="live_date" → <span> 日期(支持 <Stage/Date> 多阶段格式)class="live_place" → <span> 场地(同上多阶段格式)专用解析器:_parse_hasunosora_page() in scrape_lovelive.py。
蓮ノ空页面的 <Stage/Date> 格式中,开头 < 是全角,结尾 > 是半角,不对称。
错误正则:<([^>]+)/([^>]+)> — [^>] 不会排除半角 >,且 > 匹配不到半角 >。
正确正则:<([^/]+)/([^>>\n]+)[>>]?
日文日期省略有三种:
2026年5月2日(土) — 完整,直接解析5月3日(日) — 省略年份,需补 year → f"{year}年5月3日"15日(日) — 仅剩日,需补 year+month → f"{year}年{month}月15日"split_tour_dates() 在 common.py 已处理三种情况,并支持 2026年5月2日(土)〜4日(月)、2026年12月31日(水)〜1月2日(金) 这类范围补齐;范围内所有日期沿用起始 venue,后续非范围日期才前进到下一个 venue。
| 系列 | 正确 URL | 错误 URL |
|---|---|---|
| 蓮ノ空 | hasunosora/live-event/ | — |
| Liella! | yuigaoka/live/ | yuigaoka/news/liella/live-event/ |
| 虹ヶ咲 | nijigasaki/live-event/ | nijigasaki/news/ |
| Aqours | uranohoshi/live/ | uranohoshi/news/aqours/news/ |
| μ's | news/ | μ's 没有独立 live-event/ 默认源,需从全站 news 过滤 live/event |
LoveLive fallback 解析若列表 card 中存在详情页链接,detail_link 必须指向该详情页;JSON-LD Event 的 location.name 要走 LoveLive 专用场地映射后再入库。对应回归测试:anison-live-countdown/tests/test_common.py::test_lovelive_jsonld_uses_lovelive_specific_venue_mapping 与 ::test_lovelive_card_fallback_keeps_detail_href。
列表页 card 若缺日期,scrape_bangdream.py 会只跟进 bang-dream.com 同域详情页并提取可解析日期(如 日程 / 開催日 / 開催日時)。当前 fallback 不从详情页补会场;列表页会场缺失时仍应保守标记「未定」。不要抓取外部绝对链接;详情页请求必须带 UA/Referer 且禁代理,避免官网浏览器 Bot 检测 404。
_is_garbage_title() 过滤:JS 代码 (function()、CSS (@media)、HTML 残留、页面导航 (LIVE & EVENT)、纯标点、短于 4 字符。
is_non_live_keyword() 过滤:舞台挨拶、上映会、配信、グッズ等。
proxies={"http": None, "https": None} 必须设置,否则走代理 429Referer header 必须带,否则被拒data/idolmaster.json 残留,generate_report.py 也必须忽略。common.jst_today() 为准;跨时区运行时不要用本机 naive date.today() 替代。「」 |;不要把表格分隔线或独立 --- 当成需要删除的内容