"""页面代际识别。 莞易学的登录入口(jspx.dgjy.net)和学习入口(study.dgjy.net)指向同一套课程, 但课程页有两代前端:旧版 jspx 页面和新版 Vue SPA。这里只根据页面 / URL 判断代际, 平台归属由 `Platform.entries`(登录、学习入口)负责。 """ # 旧版页面骨架 LEGACY_MARKERS = ("tier-tree-one", "tier3") # 新版 SPA 标记:Vue 入口、培训课程接口路由、study 域名 SPA_MARKERS = ("/training/curriculum", "/training/courseVideo", "/training/comment", "static/js/app.", "study.dgjy.net/training", "study.dgjy.net/#/") SPA_HOST = "study.dgjy.net" def has_study_marker(html, page_url=""): """页面是不是新版莞易学(study.dgjy.net / Vue SPA)。""" if page_url and SPA_HOST in page_url: return True if any(k in html for k in SPA_MARKERS): return True flat = html.replace('"', "").replace("'", "") return "
" in flat def detect_generation(html, page_url=""): """返回课程页代际:legacy(旧版)/ spa(新版)/ ""(无法识别)。""" if any(k in html for k in LEGACY_MARKERS): return "legacy" if has_study_marker(html, page_url): return "spa" return ""