{
 "_doc": "kaogong-pro 数据来源注册表(随时更新机制)。每条:官方源页/职位表URL规律/格式/解析要点/更新节奏/新周期检测/最新已知年。刷新流程见 cli/REFRESH.md。",
 "built_at_note": "由 agent-team 核验各省官方源构建",
 "sources": [
  {
   "name": "国考(中央机关及其直属机构考试录用公务员)",
   "official_source_page": "http://bm.scs.gov.cn/kl2026 (当年度专题网站，年份递增；权威入口=国家公务员局官网 http://www.scs.gov.cn/ 考录专栏，及中国政府网公告 https://www.gov.cn/lianbo/bumen/202510/content_7044277.htm)。职位表/招考简章在专题网站导航栏\"相关下载\"页 http://bm.scs.gov.cn/pp/gkweb/core/web/ui/business/download/gkdownloads.html 下载。华图镜像 ah.huatu.com 仅作归档备份，不作首选源。",
   "table_url_pattern": "专题网站按年份递增：http://bm.scs.gov.cn/kl{YYYY}（已确认 kl2024 / kl2025 / kl2026 均存在）。职位表打包在该专题\"相关下载\"中的【招考简章.zip】，解压后为 Excel(.xls/.xlsx) 职位一览表。每年 zip 内具体文件名/会话路径会变，刷新时应进入 http://bm.scs.gov.cn/kl{YYYY} 的相关下载页(gkdownloads.html) 抓取\"招考简章.zip\"实际下载链接，而非硬编码直链。注意 bm.scs.gov.cn 为 http/自签证书站点(WebFetch 会 TLS 证书校验失败)，下载需忽略证书校验或走浏览器。",
   "format": "来源为 招考简章.zip(内含 Excel 职位表 .xls/.xlsx)；本库已落地为 cli/raw/guokao-{YYYY}.csv(2024-2026 为 csv，2020/2021 另存 .xls，2022/2023 另存 .xlsx)。亦可通过专题网站在线\"职位查询/职位检索\"系统按条",
   "parse_notes": "CSV/Excel 27列(已核对 cli/raw/guokao-2024.csv 与 guokao-2026.csv 表头一致)：部门代码,部门名称,用人司局,机构性质,招考职位,职位属性,职位分布,职位简介,职位代码,机构层级,考试类别,招考人数,专业,学历,学位,政治面貌,基层工作最低年限,服务基层项目工作经历,是否在面试阶段组织专业能力测试,面试人员比例,工作地点,落户地点,备注,部门网站,咨询电话1,咨询电话2,咨询电话3。关键映射：职位代码=12位唯一主键(全国统一编码，稳定可靠，不存在省考海南/黑龙江/吉林那种码不可靠问题，可直接做职位主键与跨年比对)；招考人数=headcount；机构层级(中央/省级/市地级/县区级)+机构性质(党群/行政/参公/直属机构等)用于分层；考试类别区分行测/申论卷别(综合管理类/行政执法类等)，市县级与艰苦边远区合格线不同；面试人员比例=进面比例(如3:1/5:1)。专业字段为长文本(可含'本科：xxx；研究生：xxx'分段)；备注内嵌咨询电话与限制条件。原始 Excel 通常按系统/部门分多个 sheet 或为单一总表(年度有差异)，落库",
   "update_cadence": "职位表/招考简章+公告：每年10月中旬(2026年为10月14日)随《中央机关及其直属机构XXXX年度考试录用公务员公告》在专题网站发布；网上报名约10月15-24日，资格审查约10月26日截止，报名确认/缴费约11月初。报名(资审通过)人数：报名期内官方滚动披露，最终总量(2026年371.8万人通过资格审查、创新高)由国家公务员局/中国政府网/新华网在报名结束后公布——官方仅公开'通过资格审查'总量及最热岗位竞争比，逐职位报名/缴费明细官方不发布(需第三方华图/中公/上岸鸭抓取，缴费人数无官方汇总)。笔试：11月底(2026年11月30日)。笔试成绩+合格分数线：次年1月中旬(2026年度为1月15日，专题网站+新华网公布，按机构层级/地区分档划线)。面试名单/面试公告：成绩公布后各招录机关在专题网站陆续发布(约1-3月)，逐职位最低进面分需从各机关面试名单按笔试成绩倒推。",
   "new_cycle_detect": "三步：1) URL 年份递增探测——构造 http://bm.scs.gov.cn/kl{当前最新年+1} 探测是否 200 可达(每年10月中旬专题站上线)；2) 比对官方公告——抓 http://www.scs.gov.cn/ 考录专栏 或 中国政府网 gov.cn 部门动态，匹配标题'中央机关及其直属机构YYYY年度考试录用公务员公告'出现新年份；3) 与本库已知最新年(guokao-{YYYY}.csv 中最大 YYYY)比对，官方出现更大年份即触发抓取。落地可定时(每年9-11月加密轮询)请求 kl{年份} 专题站及其 gkdownloads.html，发现新'招考简章.zip'即下载。注意 bm.scs.gov.cn 走 http 且证书异常，探测需禁用 TLS 校验/容忍证书错误。",
   "latest_known_year": "2026 (本库 cli/raw 已有 guokao-2020..2026；2026 公告/职位表 2025-10-14 发布，合格线 2026-01-15 公布，招录3.81万/通过资审371.8万。下一轮 2027 预计 2026年10月中旬发布于 http://bm.scs.gov.cn/kl2027)",
   "source_official_confirmed": true
  },
  {
   "name": "北京 (beijing)",
   "official_source_page": "https://www.beijing.gov.cn/gongkai/rsxx/gwyzk/ 首都之窗公务员招考gwyzk频道为北京公务员职位表简章笔试合格分数线唯一官方入口。备用官方门户北京组工网 https://www.bjdj.gov.cn",
   "table_url_pattern": "职位表随年度招考公告发布,公告HTML与Excel附件同处gwyzk频道下的月度目录(目录名为六位年月,通常为考试年度前一年的11月,2026年度即202511目录)。附件文件名以大写P加020开头后接时间戳与流水号,扩展名xls或xlsx。串号无固定算法,刷新不可凭年份直接拼,须先抓对应公告页再解析附件超链接。具体已核验文件名见parse_notes。",
   "format": "职位表为Excel近年2026为xlsx早年2024与2025为xls旧版二进制需xlrd或pandas加xlrd读取。笔试合格分数线为网页正文文本无附件。报名人数为在线查询系统按职位代码查询。",
   "parse_notes": "报名人数官方查询系统北京市人事考试通用平台 fuwu点rsj点beijing点gov点cn 路径 gwyquery/publicQuery/gzwbkrssscx 按职位代码返回招考人数面试比例资审通过人数与竞争比报名期内每日9点与18点更新末日仅9点不公开全市总报名汇总历年总量由首都之窗新闻稿如2025年度1893职位招4487人加第三方华图中公本地宝补充。已核验文件2026目录202511文件P020251110416491745191.xlsx下载462.9KB解析正常2025目录202411文件P020241112454583305784.xls2024目录202310文件P020231020538351424934.xls考试大纲PDF同目录如P020251110416492086501.pdf。职位表2026含5个sheet普通职位面向退役大学生士兵职位面向乡村振兴协理员等服务基层项目人员职位面向残疾人职位特殊职位刷新须遍历全部sheet合并勿只读第一个退役专项岗在面向退役大学生士兵职位sheet约124条。每sheet第1行大标题须跳过第2行表头数据从第3行起。21列表头",
   "update_cadence": "职位表与招考公告每年约11月2026年度2025-11-10笔试约12月笔试合格分数线加资格复审调剂面试通知次年约1月初2026年度2026-01-05调剂职位表次年约1月中2026年度2026-01-12补充录用公告次年约5月2026年度2026-05-07。报名人数报名期约11月中下旬内每日9点18点实时更新。",
   "new_cycle_detect": "主检测抓频道页gwyzk列表 https://www.beijing.gov.cn/gongkai/rsxx/gwyzk/ 正则匹配标题北京市各级机关四位年份年度考试录用公务员公告取最大年度若大于latest_known_year当前2026即有新发布。辅助新公告出现在新月度目录约新年度前一年11月如2027年度为202611比对目录年份递增。文件URL不可凭年份直接拼因串号无规律须进公告页解析附件链接xls或xlsx。可同时校验北京组工网 https://www.bjdj.gov.cn 作冗余源。",
   "latest_known_year": "2026",
   "source_official_confirmed": true
  },
  {
   "name": "河北省考(河北省公务员录用省市县乡四级联考)",
   "official_source_page": "https://www.hebpta.com.cn/article?id=303",
   "table_url_pattern": "职位表文件直链规律: https://www.hebpta.com.cn:8090/upload/<YYYYMMDD>/<uuid>.xlsx (端口 8090 为官方文件托管;<YYYYMMDD>=公告发布日,<uuid> 为随机 GUID,无法直接由年份推算,必须先打开当年公告页解析附件链接获得)。已实测 2026 直链: https://www.hebpta.com.cn:8090/upload/20260130/7b2732e7-502e-4d39-bddc-ea0f749d34af.xlsx (534KB,有效 xlsx)。承载公告的文章页规律: https://www.hebpta.com.cn/article?artId=<artId>&id=303 (id=303 为\"公务员录用考试\"栏目;2026 职位表 artId=13106,2025 联考公告 artId=12568",
   "format": "XLSX (.xlsx;早年部分为 .xls)。单文件,通常单 sheet(《招录职位及报考资格条件一览表》);文件经官方端口 8090 静态托管,Content-Type application/vnd.openxmlformats-officedocument.spreadsheetml.she",
   "parse_notes": "官方原始为《招录职位及报考资格条件一览表》xlsx,无 position_code 等英文列,需做中文表头映射。已入库 CSV 标准列: source_province(固定\"河北\"),year,position_code(职位代码,2024 起为 7 位如 1001001;2021 及更早为 12 位如 130001101001——跨年不可直接 join),dept_name(招录机关/部门),bureau(机构/单位,常为\"机关\"或具体处室),position_name(职位名称如\"职位/职位A\"),headcount(招录人数),education(学历:研究生/本科/专科),degree(学位:硕士/学士),major(专业,含\"本科:…研究生:…\"分层及\"X类\"门类描述,逗号/顿号混用需清洗),political(政治面貌),work_location(任职地点,如\"省直\"),remarks(备注,含\"其他要求:…\"且常以\" | 申论试卷类型:A类/A卷\"拼接,需按\" | \"拆分),service_year/channel(channel 固定\"省考\"),source_url",
   "update_cadence": "职位表+招录公告: 每年 1 月下旬至 2 月初随《公务员录用省市县乡四级联考公告》同时发布(2026=2026-01-30 发布、2/1-2/5 报名;2025 为 2 月初)。报名人数/竞争比: 报名期(2 月初约 5 天)由报名系统实时统计,无官方单一公示文件,由河北网络电视台等官媒及中公/华图/上岸鸭等机构整理(2025 报名 125268 人、过审 116484、缴费 72850;2024 过审约 14.5 万)。笔试: 约 3 月中旬(2026=3/14-15)。进面分/最低控制分数线/进入面试人选名单: 每年 4 月中旬在 hebpta.com.cn 成绩查询/面试公告(artId 式 JS 渲染页,需逐公告抓取,无统一官方进面分汇总表,须从各职位面试名单最低分推出;笔试满分 200、最低控制线 100、面试合格线 60)。",
   "new_cycle_detect": "每年 1 月下旬-2 月初(2026 为 1/30;2025 为 2 月初)在 hebpta.com.cn 的\"公务员录用考试\"栏目(列表页 https://www.hebpta.com.cn/article?id=303)发布新公告。编程检测三策略,任一命中即视为新一年: (1)首选——抓取 id=303 栏目列表页(JS 渲染,需 headless 浏览器或抓其后端 API),解析最新一条标题含\"<下一年>年度公务员录用\"且日期>已知 2026/01/30 的公告; (2)artId 递增探测——已知 2025 公告 artId=12568、2026 职位表 artId=13106,可在 13106 之上向后探测新 artId(注意 artId 同时混入选调生/事业单位等其它栏目,需用 &id=303 过滤并核对标题年份); (3)兜底——比对 latest_known_year(=2",
   "latest_known_year": "2026",
   "source_official_confirmed": true
  },
  {
   "name": "shanxi",
   "official_source_page": "https://rst.shanxi.gov.cn/rsks/gwyks/",
   "table_url_pattern": "官方源为山西人事考试专栏(山西省人社厅 .gov.cn)。年度专题入口 https://rst.shanxi.gov.cn/rsks/gwyks/[年份]gwyks/ (2026=2026gwyks, 2025=2025gwy, 命名不统一勿硬编码)。主公告页 .../[YYYYMM]/t[YYYYMMDD]_[id].shtml , 2026=https://rst.shanxi.gov.cn/rsks/gwyks/2026gwyks/202601/t20260119_10042625.shtml 。职位表 xls 与公告同目录, 文件名 P0[20位数字].xls (随机串不可预测, 必须解析公告HTML中职位表锚点href)。已核实 2026 职位表=https://rst.shanxi.gov.cn/rsks/gwyks/2026gwyks/202601/P020260119611",
   "format": ".xls (OLE2 / WPS 导出老式 Excel, 非 xlsx), 需 xlrd==1.2.0 解析",
   "parse_notes": "多sheet: 2026 共15个sheet按系统/地市拆分(省直/法院系统/检察院系统/监狱管理系统/太原/大同/朔州/忻州/吕梁/晋中/阳泉/长治/晋城/临汾/运城), 须遍历全部合并勿只读第一个。每sheet第0行大标题, 第1行列头, 数据从第2行起。13列映射: 招录部门=dept_name/bureau, 招录单位=并入dept_name, 招录职位=position_name, 招录人数=headcount(1.0转int), 职位简介=position_desc, 学历要求=education, 学位要求=degree, 专业类别=major, 基层工作经历要求=service_year/remarks, 政治面貌=political, 备注=remarks(限男女/比例), 体检考察比例=并入remarks, 笔试考区=work_location。源表无position_code列, 山西码不可靠(同海南/黑龙江/吉林), position_code留空或合成勿用于跨年去重。按列头名而非列序号映射(sheet数与命名年度间会微调)。",
   "update_cadence": "职位表+公告每年1月发(2025=1/6,2026=1/19,报名1月中下旬一周)。笔试3月中(2025=3/15-16,2026=3/14-15)。笔试成绩+最低合格分数线4月中(约4/15,分省级/市级/县级/乡镇艰苦/村社区分级划线)。报名人数仅报名窗口期每日约17:00发当日各职位统计xls,窗口后不归档。进面分无官方逐职位汇总表(按计划3倍进面),需从各地市资格复审/面试名单附件逐职位提取。面试/体检考察公告4月下旬-5月各地市分批发。",
   "new_cycle_detect": "主: 抓栏目页 https://rst.shanxi.gov.cn/rsks/gwyks/ 公告列表, 匹配标题 山西省[年份]年度考试录用公务员公告, 年份>latest_known_year 即新周期。辅1: 探测 .../[年份+1]gwyks/ 返回200即新年(子目录可能为 [年份]gwyks 或 [年份]gwy 两种都试)。辅2: 定位公告页后解析职位表锚点href得P0..xls, 校验为OLE2/可xlrd打开且headcount合计与公告招录总数吻合(2025=6005,2026=5360)再入库。节奏: 每年12月底起每周轮询, 1月命中转抓取。",
   "latest_known_year": "2026",
   "source_official_confirmed": true
  },
  {
   "name": "内蒙古 (neimenggu)",
   "official_source_page": "http://www.impta.com.cn/more.asp?ttt=33",
   "table_url_pattern": "入口简章页(年度递增): http://www.impta.com.cn/dangzhengqungwy/<8-10位数字ID>.asp (例: 2026年简章=2026122104117.asp, 发布2026-01-22; ID前4位为年份, 其余为发布时间戳, 不可纯推算, 需从 more.asp?ttt=33 列表页抓取真实链接)。职位表为简章页内的多个.htm附件, 相对路径在 /dangzhengqungwy/ 下, 文件名为中文全名。2025/2026命名: http://www.impta.com.cn/dangzhengqungwy/附件1：内蒙古自治区<年份>年考试录用公务员和工作人员职位表（普通岗位）.htm (URL中文需百分号编码)。2024命名(注意旧路径含子目录gwy2024/): http://www.impta.com.cn/dangzhengqungwy",
   "format": "HTML网页表(.htm, 非Excel), GB2312编码; 简章入口页及笔试成绩/进面公告均为 .asp(GB2312)。官方无逐职位Excel, 也无单独的进面分数线下载表。",
   "parse_notes": "职位表为6个独立.htm文件(普通岗位/公安/检察院/法院/监狱戒毒/嘎查村社区党组织书记), 需逐个抓取并合并; 全部GB2312编码, 解析时强制 encoding=gb2312/gb18030 否则乱码。文件是HTML <table>, 用 pandas.read_html 或 lxml 解析。注意: (1)URL含中文须百分号编码访问; (2)2024路径多一层 /dangzhengqungwy/gwy2024/, 2025起改为 /dangzhengqungwy/ 直放, 刷新时两路径都要试; (3)WebFetch会强制HTTPS导致证书错误失败, 必须用 curl 走 http://(站点 Microsoft-IIS/8.5 + ASP.NET, 仅HTTP)。列映射: 招录机关/部门→dept_name, 职位名称→position_name, 招录人数→headcount, 学历/学位→education/degree, 专业→major, 政治面貌→political, 备注(单位层级/机构性质/基层工作最低年限/笔试开考比例/咨询电话)以 | 拼入 remarks",
   "update_cadence": "职位表+简章: 每年1月中下旬随省考公告同步发布(2026=01-22, 2025=01-22, 2024=01-26)。报名/缴费: 紧随简章1月下旬至2月初网上进行(总量约25万级, 多由媒体统计)。笔试: 约3月中旬(2026为3月14-15日)。笔试成绩+合格分数线公告: 约4月中旬(2026笔试成绩公告约04-15)。资格复审/进面名单: 约4月下旬。面试: 约5月中下旬。总成绩公告: 约5月底至6月初。",
   "new_cycle_detect": "用 curl(HTTP, GB2312)拉 http://www.impta.com.cn/more.asp?ttt=33 列表页, 正则匹配标题含\"<新年份>年度考试录用公务员简章\"并抓取对应 /dangzhengqungwy/<ID>.asp 链接; 当出现 ID 前4位 > latest_known_year(2026)的\"考试录用公务员简章\"即判定新一轮。辅助: 比对已知最新年2026, 若 (年份+1) 的简章出现即触发刷新。不能靠 URL 年份自增推算 ID(后段为发布时间戳), 必须解析列表页拿真实 .asp 链接, 再进简章页提取6个职位表 .htm 附件链接。站点仅 HTTP, 抓取需禁用 HTTPS 升级。",
   "latest_known_year": "2026",
   "source_official_confirmed": true
  },
  {
   "name": "辽宁 (liaoning) 省考公务员职位表",
   "official_source_page": "https://www.lnrsks.com/html/kaoshidongtai/gwy_zhaokaogonggao/index.html （辽宁人事考试网·招考公告列表；主办单位:辽宁省人事考试中心，辽ICP备07011309号。每年省考另设年度专题页 https://www.lnrsks.com/html/[年份]sgwyzhuanti/ ，如 2025=/html/2025sgwyzhuanti/ 、2026=/html/2026sgwyzhuanti/ 。报名/缴费/准考证/成绩均在 www.lnrsks.com）",
   "table_url_pattern": "职位表(岗位表)以压缩包附件挂在《NNNN年度辽宁省考试录用公务员公告》正文页内。历史规律(已确认可达):https://www.lnrsks.com/upfile/[年份]/MM/DD/[YYYYMMDDhhmmss]_NNN.zip ，例:2025=https://www.lnrsks.com/upfile/2025/01/16/20250116101451_804.zip(ZIP)、2024=https://www.lnrsks.com/upfile/2024/01/12/20240112183032_305.rar(RAR)、2023=https://www.lnrsks.com/upfile/2023/01/18/20230118110026_645.zip 。注意:2026年起部分附件改用 hash 命名 /upfile/2026/[32位hash].xls(.xlsx)，时间",
   "format": "职位表为压缩包(ZIP/RAR)，内含多个 Excel(.xls/.xlsx/.et WPS表格)文件，按招考机关分册:省直、14个市(沈阳/大连/鞍山/抚顺/本溪/丹东/锦州/营口/阜新/辽阳/铁岭/朝阳/盘锦/葫芦岛)、公安系统(人民警察)、法院系统、检察院系统、监狱戒毒系统。需逐文件解压解析后",
   "parse_notes": "列映射要点:辽宁岗位表典型列含 招录机关/部门/单位、机构层级(省直/市/县区/乡镇)、职位名称、职位简介(职责)、招考人数、学历(本科/研究生)、学位、专业(常按本科/研究生分列或合并)、政治面貌、基层工作经历、服务基层项目、是否限本市/本县户籍、面试比例(如1:3)、考区/工作地点、其他条件、咨询电话等。已入库 liaoning.csv 映射:dept_name/bureau←招录机关，position_name←职位名称，position_desc←职位简介，headcount←招录人数，education/degree/major，political←政治面貌，work_location←考区/层级，remarks←拼接(系统类别|部门层级|基层工作经历|其他条件|面试比例)。多文件:压缩包内每个分册需分别读取，列顺序在省直与各市分册间可能略有差异，按表头名匹配而非列序号。无 position_code(辽宁职位表通常不含统一职位代码列，留空)。辽宁码可靠，无海南/黑龙江/吉林那类码不可靠问题。乱码注意:.et(WPS)文件需用支持 WPS 的库或先转 xlsx；ZIP/RAR",
   "update_cadence": "职位表+招考公告:每年1月中下旬发布(2025=01-16公告挂表,报名1月下旬;2026=01-27公告,报名01-30~02-03)。笔试:3月中旬(2026=03-14/15)。报名/缴费人数:报名期(1月底~2月初)在官网考录专题动态公示。笔试合格分数线(进面线):笔试后约3月底~4月初随各系统/各考区资格审查公告公布;资审(进面)人选名单及笔试成绩4月上中旬陆续发布(2025省直名单04-10、公安资审04-11)。面试/体检:4~5月。",
   "new_cycle_detect": "主检测:抓取招考公告列表页 https://www.lnrsks.com/html/kaoshidongtai/gwy_zhaokaogonggao/index.html (及/或当年专题页 /html/[年份]sgwyzhuanti/)，正则匹配标题《(\\d{4})年度辽宁省考试录用公务员公告》，取最大年份与 latest_known_year(2026)比对，更大则有新周期。辅助:专题页 URL 年份递增可直接探测 https://www.lnrsks.com/html/[年份]sgwyzhuanti/ 是否 200(每年新建)。落地步骤:发现新公告页(/html/gwy_zhaokaogonggao/NNNN.html)→解析正文抓取 upfile 下职位表压缩包链接→下载解压。检测周期建议每年12月~次年2月加密轮询(职位表1月发);进面分检测在3月底~4月轮询资格审查公告。",
   "latest_known_year": "2026（官方 2026 周期已于 2026-01-27 发布公告，招录 6007 人/5268 职位，报名 2026-01-30~02-03，笔试 2026-03-14；但本地数据库 liaoning.csv 与 shengkao-hist 当前仅入库至 2025，2026 职位表尚待抓取入库）",
   "source_official_confirmed": true
  },
  {
   "name": "吉林 (jilin)",
   "official_source_page": "https://xxgk.jl.gov.cn/ (吉林省政府信息公开平台,各招录机关在 zcbm/<部门>_<id>/xxgkmlqy/ 子栏目同步发布\"XX年度吉林省各级机关考试录用公务员公告\"+职位表xls附件1-10;2026公告: https://xxgk.jl.gov.cn/zcbm/fgw_98097/xxgkmlqy/202601/t20260129_9409946.html;2025公告: https://xxgk.jl.gov.cn/zcbm/fgw_98057/xxgkmlqy/202503/t20250320_9107638.html)。中央归口下载入口为【吉林公务员考试",
   "table_url_pattern": "职位表为公告附件,直链规律: https://xxgk.jl.gov.cn/zcbm/<部门>_<id>/xxgkmlqy/<YYYYMM>/W<日期戳14位>.xls (示例: 2025 ./W020250320476483892800.xls)。公告页本身规律: https://xxgk.jl.gov.cn/zcbm/<部门>_<id>/xxgkmlqy/<YYYYMM>/t<YYYYMMDD>_<8-9位id>.html,并附同id的PDF版 //xxgk.jl.gov.cn/PDFfile/<YYYYMM>/<id>.pdf。注意:同一份公告与附件在多个招录部门子栏目(fgw_98097/fgw_98057等)重复发布,内容一致;每年附件为1-10共10个表(省直+长春/吉林市/四平/辽源/通化/白山/松原/白城/延边州)。W后14位为时间戳+随机数,无法预测,需先抓公告页再取附件",
   "format": ".xls(Excel,GBK/老格式,多文件:附件1-10按省直与各市州拆分,需合并后统一列;部分年份另有PDF/DOC版公告正文)",
   "parse_notes": "10个xls需合并;列映射(吉林口径):招录机关→dept_name/bureau、职位名称→position_name、职位代码→position_code、招考人数→headcount、学历/学位/专业/政治面貌/基层工作经历/服务年限/科目类别(A/B/C)/开考比例/咨询电话等分散在各列,本库已归并入 remarks(以\" | \"分隔字段)。【吉林码不可靠】position_code(如101001-001)由抓取过程按部门-职位顺序生成,并非官方原始连续编号,跨年不可作主键,核验/去重应以(年份+招录机关+职位名称+学历专业)组合;同一职位男/女限制会拆成多条(如101002-001/-002)。注意吉林公务员考试网 jlgwyks.cn 存在TLS证书 alt-name 不匹配(ERR_TLS_CERT_ALTNAME_INVALID),WebFetch直读失败,程序抓取需关闭证书校验或改走 xxgk.jl.gov.cn(.gov.cn证书正常)。进面分:官方仅公布【分类别笔试合格分数线】(2025/2024同口径:省市级综管90、县乡级综管85、行政执法90、公安人民警察",
   "update_cadence": "职位表+招考公告:多在【1月底-3月】发布(2026年1月29日发公告、2月2-6日报名;2025年3月20日发公告偏晚)。笔试成绩+分类别合格分数线:【4月中旬】(2025年4月11日15时在jlgwyks.cn发《笔试成绩和合格分数线发布公告》)。进面/面试名单:成绩公布后由各招录机关陆续通知(4-5月),按3:1从高到低定进面人选。报名/缴费人数:仅报名期内实时可见,无官方事后统计件",
   "new_cycle_detect": "主探测:抓 http://www.jlgwyks.cn/newslist.aspx?type=58 (考试录用公务员栏目)最新一条标题,匹配\"(\\d{4})年度吉林省各级机关考试录用公务员公告\",年份>已知 latest_known_year 即新一轮(注意jlgwyks.cn有TLS证书问题,需禁用校验)。备用/更稳:在 xxgk.jl.gov.cn 站内搜\"年度吉林省各级机关考试录用公务员公告\",取最新发布日期与年份;或对公告页路径中的 <YYYYMM> 与 t<YYYYMMDD> 比对年份递增。窗口期建议每年1月起每周轮询一次直至命中。命中后进入公告页抓附件1-10的 W*.xls href 下载",
   "latest_known_year": "2026",
   "source_official_confirmed": true
  },
  {
   "name": "黑龙江 (heilongjiang)",
   "official_source_page": "https://www.hljsgwy.org.cn/tyzpwb/ (黑龙江省公务员考试网=唯一官方报名/公告入口,首页跳转 https://www.hljsgwy.org.cn/tyzpwb/website/init.htm ; 公告/重要通知列表 https://hljsgwy.org.cn/tyzpwb/website/queryMore.htm)。上级权威背书:黑龙江省人民政府门户 https://www.hlj.gov.cn/ (省考启动新闻,如2026 https://www.hlj.gov.cn/hlj/c107856/202601/c00_31908324.shtml) 及省",
   "table_url_pattern": "无稳定的官方年份递增直链(重要):hljsgwy.org.cn/tyzpwb 为全 JS 渲染+会话(jsessionid)平台,公告详情与职位表附件不暴露可预测的静态 URL(列表页链接均渲染为 #,附件经报名平台分发)。因此本省\"以后随时更新\"实务上锁定第三方镜像直链来抓取职位表 Excel。已验证的镜像规律(哈尔滨本地宝 imgbdb,按类别分5个 .xls):https://imgbdb4.bendibao.com/hebbdb/job/<YYYY><M>/<D>/<YYYYMMDD><HHMMSS>_<seq>.xls。2026年5个文件示例:省市级综管 .../20261/23/2026123141640_16144.xls;县乡级综管 .../2026123141734_88418.xls;行政执法类 .../2026123141849_89616.xls;定向村社区党组织书",
   "format": "职位表=Excel(.xls),官方按5个类别拆分文件:①省市级综合管理类 ②县乡级综合管理类 ③行政执法类 ④定向招录村社区党组织书记(定向村社区) ⑤公安机关人民警察特殊职位。笔试合格分数线/进面名单=网页公告(无Excel)。",
   "parse_notes": "5个分类 .xls 需分别解析后合并,合并时打 channel/类别标记(省市级/县乡级/行政执法/定向村社区/公安特殊),公安特殊职位含加试公安专业科目。列映射:招录机关→dept_name/bureau、职位名称→position_name、招录人数→headcount、学历/学位/专业/政治面貌/服务年限/工作地点/备注→对应列;备注列内常含\"限男性/招考对象/职位性质\"等需拆 remarks。重要:黑龙江省position_code(职位代码)历来被列为\"码不可靠\"省份之一(各市/各分类表代码非全省统一连续、镜像导出后可能截断或重排),不要以 position_code 做跨年/跨分类主键,应以 招录机关+职位名称+工作地点+学历专业 组合去重匹配。当前库内 raw 全部来自第三方镜像(本地宝/上岸鸭/格木),官方 hljsgwy 无直链;镜像 .xls 偶有合并单元格/表头多行,解析时跳过说明行、向下填充合并单元格。",
   "update_cadence": "职位表+招考公告:每年1月下旬~2月初发布(2026年1/23公告、2/2-2/6报名;2025年约2/16前后);公共科目笔试约3月中旬(2026=3/14~15)。笔试合格分数线:笔试后约2~4周,3月底~4月上旬公布(2025年4/2公布)。进面/资格复审名单:4月由省直各机关及各市地公务员主管部门按3:1比例分批在 hljsgwy.org.cn 公布。报名/缴费人数:官方仅报名期内平台实时显示本人所报职位,不发布全量公示;总量与竞争比由华图/本地宝/网易/搜狐等在报名期(2月初)逐日整理。补充录用公告通常在录用季后(如5月)发布。",
   "new_cycle_detect": "三路并用:1)比对已知最新年 latest_known_year=2026,目标抓 2027。2)官方信号:轮询 hljsgwy.org.cn 公告列表 https://hljsgwy.org.cn/tyzpwb/website/queryMore.htm 及省政府门户 hlj.gov.cn(年末\"全面启动<年>年公务员省考工作\"新闻,如2026版 c107856/202601/...)出现\"<新年>年度各级机关考试录用公务员公告\"即视为新周期开放;注意官方页 JS 渲染,静态抓取可能只见标题需配合搜索引擎。3)镜像信号(实际取数路径):在本地宝 heb.bendibao.com 搜索\"<新年>黑龙江省考岗位表下载\",命中后取当年5个分类 .xls 的 imgbdb 直链(URL 内含 /<YYYY><M>/<D>/ 年份段,可正则提取年份递增判定);拿到后用官方公告披露的招录总人数/职位",
   "latest_known_year": "2026 (table_year=2026,招6624人/5462个职位,报名2026-02-02至02-06,笔试2026-03-14;recon table_year亦为2026,raw 历史CSV覆盖2021-2025,full尚缺2026单文件,需按镜像直链补抓2026五类表)",
   "source_official_confirmed": true
  },
  {
   "name": "上海 (shanghai) — 上海市考试录用公务员 省考",
   "official_source_page": "https://www.shacs.gov.cn/ (上海市公务员局,招考简章发布主体;每年度专题报名/职位查询入口 https://bm.shacs.gov.cn/zlxt/ ;政府门户公告同步发布于 https://www.shanghai.gov.cn/nw4411/index.html )",
   "table_url_pattern": "官方不提供稳定可下载 Excel 职位表;招考简章在专题站在线查询:https://bm.shacs.gov.cn/zlxt/zlxt/ks/signUp.jsp?zlid=<每年度唯一HEX_ID>(2025 zlid=BBA5F0748E6EEF110D84B1ADB8BEFDFB;2023 zlid=E837DF14DE2A3B0FE0530BAE1AAC38D2;zlid 不可预测,需从 https://bm.shacs.gov.cn/zlxt/ 抓取当年度专题链接)。实际抓取用镜像可下载文件,URL 规律按来源:本地宝 https://imgbdb4.bendibao.com/shbdb/job/<YYYYMM>/<DD>/<时间戳>_<id>.xls(2026例:.../202510/31/20251031180747_69163.xls);其他历史镜像 https://att",
   "format": "官方源:JS渲染SPA(www.shacs.gov.cn)+专题报名系统(bm.shacs.gov.cn/zlxt,在线查询非下载)。实际入库职位表文件来自镜像的 .xls/.xlsx(本地宝imgbdb / gemu / gwy / 华图),官方不直接提供可下载的Excel职位表。进面分/进面名单",
   "parse_notes": "入库职位表来自镜像 .xls/.xlsx(2026=本地宝imgbdb xls,2025=imgbdb 分类xlsx,2024=gwy.com xls,2022/2023=gemu xls)。列映射:招考机关→dept_name、用人单位/处室→bureau、职位名称(类别/职级如\"综合管理类/二级主任科员及以下\")→position_name、主要职责→position_desc、招考人数→headcount、学历/学位→education/degree、本科+研究生专业(用\"本科:.. | 研:..\"合并)→major、政治面貌→political、工作地点→work_location。上海特有:专业类别(综合/政法/数字信息/财经/城市建设/卫生健康/公安司法机关基层人民警察/行政执法)与\"招考类别/招考对象/基层经历(年)/其他条件/备注\"等被压进 remarks 字段(用\" | \"分隔)。注意\"本科专业、研究生专业符合其一即可\"vs\"都需符合\"语义在备注里。position_code 形如 26020001(年份后两位+序号)。无 service_year/channel 固",
   "update_cadence": "职位表/招考简章:每年10月底随招考公告发布(2026公告2025-11-01发,简章同步;报名期2025-11-01至11-07);笔试:12月初(2026为2025-12-07)。笔试合格分数线(按专业类别给最低合格分):次年初(约1月)在专题站网页公布,据此按1:3出\"进入面试人员名单\"。进面名单/进面分:约1-2月。报名/竞争比:官方不出逐职位文件,仅总量级(2026计划2393人;2025最终缴费约6.5万、平均竞争比>30:1)经媒体披露,逐职位需第三方估算。",
   "new_cycle_detect": "每年10月底起轮询检测:(1)官方专题站 https://bm.shacs.gov.cn/zlxt/ 是否上线\"上海市<N>年度考试录用公务员专题\"(zlid 每年新生成,无法预测,需抓取专题首页/signUp.jsp 列表解析年度文字);(2)轮询上海市政府门户公务员考试公告栏目 https://www.shanghai.gov.cn/nw4411/index.html 查找含\"<N>年度考试录用公务员公告\"的新条目(N=已知最新年+1,如已知2026则探测2027);(3)兜底:监控本地宝 https://sh.bendibao.com/job/ 与华图/上岸鸭(m.gwy.com/shgwy)的\"<N>上海市公务员招考简章\"页面出现新年份+附件 .xls/.xlsx。命中后比对 latest_known_year:若发现>2026 的年度即判定有新一年发布。注意 www.shacs.",
   "latest_known_year": "2026",
   "source_official_confirmed": true
  },
  {
   "name": "江苏省考(公务员录用)",
   "official_source_page": "https://www.jszzb.gov.cn/tzgg/  (中共江苏省委组织部/江苏先锋网\"通知公告\"栏目,2026年起省考主入口;招考主公告示例 https://www.jszzb.gov.cn/tzgg/art/2025/art_0b70c8f3fb4f2c5d852180928e946634.html 即\"江苏省2026年度考试录用公务员公告\"。历史年份(2023-2025)在江苏省人社厅公务员考试专栏 http://jshrss.jiangsu.gov.cn 归档。)",
   "table_url_pattern": "2026起(组织部域名)职位表为zip附件,挂在主公告正文内,URL规律: https://www.jszzb.gov.cn/cms_files/webapps/cn/file/<YYYY-MM>/<13位毫秒时间戳>.zip  例: https://www.jszzb.gov.cn/cms_files/webapps/cn/file/2025-10/1761825754815.zip (本库2026源,已比对一致;镜像同一文件也作 http://www.jszzb.gov.cn/upload/cn/file/2025-10/1761825754815.zip)。时间戳不可预测,需先解析主公告页 art_<hash>.html 抓 a[href*='cms_files'][href$='.zip'] 取链接。历史年份(人社厅域名)规律: http://jshrss.jiangsu.gov.",
   "format": "主形态: ZIP 压缩包(2026)/RAR 压缩包(2024-2025),内含约16个Excel(.xls)分册:13个设区市(南京/无锡/徐州/常州/苏州/南通/连云港/淮安/盐城/扬州/镇江/泰州/宿迁)各一表 + 监狱戒毒系统 + 省级机关(垂管/参公) + 地方统计调查队等专项。2023年",
   "parse_notes": "列映射要点(对照本库 jiangsu.csv 已落地字段): bureau/dept_name=招录机关, position_code=职位代码(如010000-501-01), position_name=职位名称, position_desc=职位简介, headcount=招录人数, education=学历(本科及以上等), major=专业(分号/逗号分隔的专业类), political=政治面貌, work_location=工作地点(设区市), channel固定\"省考\"。remarks聚合\"隶属关系|考试类别(A/B/C)|开考比例|单位代码|其它条件\"等。考试类别A/B/C关键:决定笔试合格线。多sheet:压缩包内逐个设区市Excel需循环读取再纵向合并,注意各分册可能有标题行/说明行需跳过。江苏码可靠(无海南/黑龙江/吉林那种码不可靠问题),职位代码可作主键去重。学位degree列江苏多数留空(条件写在其它条件里)。注意2026组织部zip解压后文件名为中文,编码用cp936/gbk。",
   "update_cadence": "职位表+主公告: 每年10月底发布(2026年度为2025-10-31上网查询、11-4至11-10报名,即T-1年10月底);公共笔试约12月上旬(2026年度=2025-12-07)。笔试合格分数线(进面线,A/B/C分类+专技/公安/村社区书记特殊档): 次年1月中旬由省委组织部公布(2026年度=2026-01月划线);逐职位进面名单/资格复审名单随后由13个设区市人社部门各自在本市官网分散公布,成绩通过 rs.jshrss.jiangsu.gov.cn 个人按身份证+准考证查询,省级无统一逐职位最低分下载件。报名人数: 报名期(11月初)各职位实时可查;省级汇总(总报名/最高竞争比)无官方Excel,由第三方(中公/华图/搜狐)依官方数据整理。",
   "new_cycle_detect": "主检测: 抓取 https://www.jszzb.gov.cn/tzgg/ 列表页(每年10月底),正则匹配标题\"江苏省(\\d{4})年度考试录用公务员公告\",取最大年份与 latest_known_year 比对,大于则进入新公告页 art_<hash>.html 解析 a[href*='/cms_files/'][href$='.zip'] 拿新职位表zip。辅助: 标题年份=自然年+1(如2025-10发的是\"2026年度\")。回退源: 江苏省人社厅 http://jshrss.jiangsu.gov.cn 公务员考试专栏(历史归档仍用此域名,downfile.jsp?filename=<hash> 形式)。注意组织部域名URL含随机hash,不能靠年份递增直拼,必须先解析公告页取附件链接;每年9-10月起轮询通知公告即可发现新周期。笔试合格线另在次年1月公告(标题\"…笔试合格分数",
   "latest_known_year": "2026",
   "source_official_confirmed": true
  },
  {
   "name": "浙江 (Zhejiang) 省考公务员职位表",
   "official_source_page": "http://www.zjks.gov.cn/col/col1229635561/index.html (浙江人事考试网\"公务员录用考试\"栏目, 招考公告/职位表/合格分数线发布入口; .gov.cn 规范域名同栏目: http://zjks.rlsbt.zj.gov.cn/col/col1229635561/index.html; 报名/笔试成绩/进面名单查询系统: http://gwy.zjks.gov.cn/zjgwy/website/queryMore.htm; 2026年度公告页: http://www.zjks.gov.cn/art/2025/11/3/art_1229635561",
   "table_url_pattern": "http://omwb.oss-cn-beijing.aliyuncs.com/zjgwy<报考年-1>/<32位hash> (例: 2026=zjgwy2025/4bd42501f1d7525dcd5dcf57b79a1db6, 2025=zjgwy2024/b6e1508b56508a7ef3105d2febb62954, 2024=zjgwy2023/977bb0cb7e696eacee6d865573052c79); hash不可推算, 须从对应年 http://www.zjks.gov.cn/art/<发布年>/11/.../art_1229635561_<id>.html 公告页解析。旧年(2020/2021)用 ouma-zjgwy2019.oss-cn-haidian-a.aliyuncs.com/...",
   "format": "Excel(.xls/.xlsx, OSS直链下载, 无文件扩展名)",
   "parse_notes": "列映射: 单位名称->dept_name+bureau, 职位名称->position_name, 工作内容->position_desc, 招考人数->headcount, 学历/学位->education+degree, 专业要求->major(去除\"研究生所学专业要求为：\"/\"本科所学专业要求为：\"前缀), 政治面貌->political, 考试类别+年龄+外语+基层经历+咨询电话+备注合并入remarks。多sheet: 普通职位与公安/法检/特警等专项可能分sheet, 需全部合并。position_code为长数字串且可靠(非海南/黑龙江/吉林码不可靠类)。OSS下载文件无扩展名, 按文件头辨别xls/xlsx。zjks官方域名TLS证书链校验失败, 抓取时需放宽证书校验或直接走aliyuncs.com OSS直链。",
   "update_cadence": "职位表+公告: 上一年11月初(报名11/6-11/11, 报名期每日17:00更新缴费确认人数); 笔试12月初; 笔试成绩+各类别最低合格分数线: 次年1月中旬(gwy.zjks.gov.cn / 长三角一体化平台csjgwy.com查询); 进面名单/逐职位最低进面分随资格复审/面试名单(1月下旬-2月)逐职位公示; 面试3月初; 最终缴费报名人数汇总于报名结束后(11月下旬)发布。",
   "new_cycle_detect": "编程检测新一年: (1) 定期抓取栏目页 http://www.zjks.gov.cn/col/col1229635561/index.html (或 .gov.cn 镜像 zjks.rlsbt.zj.gov.cn 同col), 解析最新 art_1229635561_<id> 文章, id随时间单调递增, 标题含\"浙江省各级机关单位<YYYY>年度考试录用公务员公告\"时即为新一年; 比对标题中的<YYYY>是否大于 latest_known_year。(2) 时间触发: 每年10月下旬-11月中旬加密轮询(发布窗口=11月初)。(3) URL年份探测: 公告页路径 /art/<发布年>/11/.../ , 发布年=报考年-1; 命中新公告后从页内正则提取 omwb.oss-cn-beijing.aliyuncs.com/zjgwy<报考年-1>/<hash> 直链入库。注意官方域名TLS",
   "latest_known_year": "2026",
   "source_official_confirmed": true
  },
  {
   "name": "安徽 (Anhui) 省考",
   "official_source_page": "http://www.ahxf.gov.cn/Home/List/247 （安徽先锋网“公务员考录”频道，主办单位=中共安徽省委组织部，省考公告/职位表/笔试合格分数线/面试名单的官方权威入口；另有专题页 http://www.apta.gov.cn/Officer/TopicIndex?examid=406 安徽省人事考试网，作为报名/成绩查询入口，但该站点 https 证书为自签名链，编程访问需放宽证书校验或走 http）",
   "table_url_pattern": "职位表为各市分文件（省直+16市，逐市一个 .xls/.xlsx 附件，故一年约17个文件，与已抓 anhui.csv 中 17 个 distinct source_url 对应）。官方真实文件服务器：https://file.ahxf.gov.cn/upload/file/<YYYYMMDD>/<19位数字ID>.xls 或 .xlsx （等价 IP 形式 http://221.130.129.68:6008/upload/file/<YYYYMMDD>/<ID>.xls，二者同一上传服务器）。URL 中 <YYYYMMDD> = 公告发布日期；2026 年职位表均为 20260115（如 https://file.ahxf.gov.cn/upload/file/20260115/6390406657052793418095909.xls = 省直机关职位表）。文件ID为随机长串，不可由",
   "format": "Excel：省直机关多为 .xls，部分市为 .xlsx（同一年混用两种格式）；每市一个文件，需逐文件读取后合并。",
   "parse_notes": "①每市一个文件，需逐文件读取并合并（省直+16市≈17文件）；②列含 职位代码/招录机关(主管部门+用人单位)/职位名称/职位简介/招录人数/学历/学位/专业/政治面貌/年龄/基层工作经历/服务期限/资格条件其他/咨询电话/申论类别(A/B/C)；映射到本库 dept_name=主管部门、bureau=省直或市名、headcount=招录人数、education/degree/major/political 对应同名列，position_desc/remarks 中保留“机构性质|机构层级|职位类别|职级层次|年龄|经历要求|其他|申论类别|咨询电话”拼接串；③职位代码为6位数字(如300001)，安徽编码可靠、可作主键，不属于海南/黑龙江/吉林那类码不可靠省份；④首行常有合并标题/说明行，解析时需跳过表头说明、定位真实列头行；⑤service_year/political 等字段有时嵌在 remarks 文本中需正则抽取；⑥优先官方 file.ahxf.gov.cn 件，避免用 xduim-webs(相对面)/gwyzwb(华图) 等镜像，历史 2020-2024 数据当前来自第三方",
   "update_cadence": "职位表+招考公告：每年1月中旬发布（2026=1月15日，2025同期；报名1月19-25日在 apta.gov.cn）。报名/缴费统计+未达开考比例核减取消职位公告：报名期内(1月下旬)在安徽先锋网/人事考试网逐日发布；官方不公开全省汇总总报名数，逐职位报名/竞争比靠第三方(华图/相对面)汇总(2025全省约22.5万报名、平均竞争比~34，仅供参考)。笔试：3月中下旬(多与国考联考)。笔试合格分数线公告：4月中旬(2026=4月13日，按6档分类划线：省本级110/55、市级105/50、县级95/45、乡镇90/40、行政执法90/45、人民警察特殊技能85/40，总分/行测最低分)，并附各机关“达到合格分数线人员成绩.xls”。面试资格复审/面试成绩/总成绩/体检名单：4月中下旬至5月陆续在 ahxf.gov.cn 发布(2026=4/14资格复审、5/19面试及总成绩、5/20体",
   "new_cycle_detect": "定期(建议每年1月起每周)抓取 http://www.ahxf.gov.cn/Home/List/247 列表页，正则匹配标题中的年份+“职位表”关键词(如 /(20\\d{2})年度考试录用公务员.*职位表/)；取出现的最大年份与 latest_known_year(=2026) 比对，若出现 2027 则触发刷新；同时可检查是否新增“安徽省20XX年度考试录用公务员公告”。辅助信号：附件 URL 路径中的发布日期 <YYYYMMDD> 跨入新年1月；笔试合格分数线公告(约4月)出现新年份用于刷新 cutoff。旁证：apta.gov.cn 专题页 examid 每年递增(2026=406)，但需处理其自签名证书。",
   "latest_known_year": "2026",
   "source_official_confirmed": true
  },
  {
   "name": "福建 (省考)",
   "official_source_page": "https://gwykl.fujian.gov.cn/Portal/",
   "table_url_pattern": "官方在线查询(权威入口,无直接下载): https://gwykl.fujian.gov.cn/kl<年份>/position (例 kl2026/position、kl2025/position;年份段随年递增),考生首页 https://gwykl.fujian.gov.cn/kl<年份>/eui/index。实际可下载职位表文件随公告发布,镜像URL规律示例: 本地宝 https://imgbdb4.bendibao.com/xmbdb/news|job/<年月>/<日>/<时间戳>_<id>.xlsx (2026: .../20261/19/...、2025: .../20252/10/...,前4位为年、第5-6位为月);上岸鸭OSS https://attachment-gwy-com.oss-cn-hangzhou.aliyuncs.com/file/<时间戳>.xls (2",
   "format": "官方主源为在线职位查询系统(网页, gwykl.fujian.gov.cn/kl<年>/position),非直接下载;实际职位表文件为 .xls/.xlsx,随公告发布并由第三方镜像(本地宝 .xlsx、上岸鸭 OSS .xls、相对面网页分页)留存。库内CSV来源:2026=本地宝xlsx, 2",
   "parse_notes": "文件格式 .xls(早年)/.xlsx(近年),单sheet全省职位表。列映射(以库内CSV为准):单位/招录机关(dept_name=bureau)、内设处室/职位名称(position_name)、职位简介/工作内容(position_desc)、招考人数(headcount)、学历(education)、学位(degree)、专业(major,常为带分类码的长串如『5.8 新闻与传播、…』需保留原文)、政治面貌(political)、工作地点(work_location)、其它要求/备注(remarks,含『招考类型A类/B类|招考范围|单位所属系统|单位层级|职级|年龄|工作经历|专门职位|联系方式』管道分隔)。职位代码 position_code 形如 00034-01。关键特性:福建分A类(省市综合管理/通用)与B类(乡镇及加考)与公安专业科目,务必从remarks解析招考类型。福建省份码本身可靠(非海南/黑龙江/吉林类码不可靠省),无需特殊纠偏。官方 /kl<年>/position 为交互查询不可直接下载,刷新时优先取公告内官方xls或本地宝镜像xlsx;相对面(xdui",
   "update_cadence": "职位表+招考公告: 每年 1月中下旬至2月中旬 随公告同步发布(2026=1/19报名启动并发职位表;2024=1/8;2023=1/9;2025=2/10;2022=2/14;2021=2/22)——多为前一年末/当年1-2月。笔试: 2-3月(2026=3/14-15;2024=3/16;2025=3/15;2023=2/25;2022=3/26)。笔试合格/进面分数线: 笔试后随成绩查询公布,约 3月底-4月初(2026年4月初公布:A类总分≥105且行测≥50,B类行测≥50,公安专业≥45;面试名单按1:3于各设区市考录公示逐职位发布,无全省统一进面分汇总表)。报名人数: 官方不发布逐职位报名/缴费人数汇总(报名期间查询系统内显示实时报考数,报名结束不留存);竞争比/报录比仅华图/中公/上岸鸭/本地宝等第三方网页统计(如2025约27万人报4760职位)。",
   "new_cycle_detect": "三重检测: (1) URL年份递增探测——请求 https://gwykl.fujian.gov.cn/kl<下一年>/position 与 /kl<下一年>/eui/index(如 kl2027/position),HTTP 200 且页面非\"已过职位可查询时间/专题不存在\"即视为新周期开放(已知 kl2025 返回'已过职位可查询时间'=关闭, kl2026 当前活跃)。(2) 官方公告比对——抓取 Portal 首页\"考录动态\"/\"网站动态\"栏目,匹配标题正则『福建省(\\d{4})年度考试录用公务员公告』,提取年份>已知 latest_known_year(2026)即触发。(3) 职位表文件名年份——镜像URL含发布日期(本地宝 .../20261/...、.../20252/...,前6位=年月),年份段递增即新文件。建议主用(1)+(2),每年12月起到次年2月按周轮询。",
   "latest_known_year": "2026",
   "source_official_confirmed": true
  },
  {
   "name": "江西省考(江西省2026年度考试录用公务员)",
   "official_source_page": "http://www.jxpta.com/ (江西人事考试网,江西省人事考试中心,隶属江西省人社厅;每年首页设『XXXX年度考试录用公务员』专题,公告+职位表 xls 在此发布。同步官方渠道:微信公众号『江西组工微讯』jxswzzb;笔试合格分数线/进入面试人员名单经 江西省人社厅通知公告栏 https://rst.jiangxi.gov.cn/jxsrlzyhshbzt/col/col47810/index.html 发布。.gov.cn 报名/平台:江西省人事考试综合服务平台 https://pta.jxhrss.gov.cn/)",
   "table_url_pattern": "官方不提供稳定的年份递增直链;职位表 xls 作为附件挂在 www.jxpta.com 当年『考试录用公务员』专题公告页内,文件名为哈希/随机串(无年份规律),需先抓公告页再解析其中 .xls 附件链接。.gov.cn 备选:rst.jiangxi.gov.cn 通知公告详情页 URL 形如 https://rst.jiangxi.gov.cn/jxsrlzyhshbzt/col/col47810/content/content_<数字ID>.html(ID 随机递增,非年份)。当前库内实际使用的镜像直链示例:full(2026)=https://files.jinbiaochi.com/new_page/njmb-501520448.xls(第三方);hist(2020-2025)=https://jx.gwyzwb.com/<拼音城市>zw/<年份>.html(如 nanchangzw",
   "format": "官方职位表为单个 .xls (Excel 97-2003)，多 sheet（省直机关 / 11个设区市 / 公安 / 法院检察院 / 监狱戒毒 等分类）。库内 raw/shengkao-full/jiangxi.csv 已转为统一 CSV(17列)；历史年份 raw/shengkao-hist/ji",
   "parse_notes": "列映射(库内统一17列 vs 官方xls):dept_name=招录机关/单位,bureau=部门(常空),position_name=职位名称,position_desc=职位简介/主要工作,headcount=招考人数,education=学历(研究生/本科及以上等),degree=学位,major=专业(研究生专业/本科专业分列,含专业代码,需合并),political=政治面貌,work_location=工作地点/落户地(常空),remarks=合并字段(职位层级|职位类别|年龄|其他条件如基层工作经历年限|科目数量考两科/三科),position_code=12位职位代码(如700140101001,前缀含系统/地区编码,可信)。多sheet:官方xls按省直机关+11设区市(南昌/九江/上饶/抚州/吉安/赣州/宜春/景德镇/萍乡/新余/鹰潭)+公安+法院检察院+监狱戒毒分sheet,解析时需遍历全部sheet并去掉每sheet表头说明行。校验:headcount 求和应等于公告总招录数(2026=5115人/4409职位,已核对full CSV吻合)。江西职位代码可信,无",
   "update_cadence": "职位表+招录公告:每年1月中下旬发布(2025年1月公告报名1/16起;2026年1月公告报名1/22-29,笔试3/14,专业科目3/15)。报名/缴费人数:报名窗口期(1月下旬,约一周)内官方经『江西组工微讯』+jxpta.com 按日发布累计缴费人数与最高竞争比(仅总量+最热岗,非逐职位明细);职位级竞争比依赖第三方(易考吧etest8/中公/华图)。笔试合格分数线+进入面试人员名单:笔试(3月)后约4月上旬经 rst.jiangxi.gov.cn(col47810)+江西组工微讯 发布『面试及调剂有关事项公告』(2025年面试4/26-27);分数线按省市综合105/县乡综合95、重点帮扶县降5分公布,进面名单含逐人准考证号+笔试成绩,逐职位最低进面分需从名单倒推。",
   "new_cycle_detect": "每年12月底至次年1月初监测以下任一信号即判定新一轮发布:(1)轮询官方通知公告栏 rst.jiangxi.gov.cn/jxsrlzyhshbzt/col/col47810/index.html(JS渲染,需解析其 JSON/Handlebars 数据接口或用 headless 浏览器)寻找标题含『XXXX年度考试录用公务员公告』的新条目,XXXX = 已知最新年(当前2026)+1;(2)访问 www.jxpta.com 首页找『XXXX年录用公务员』专题入口(注意该域名 TLS 证书 SAN 不匹配,程序需关闭证书校验或改用 .gov.cn 平台 pta.jxhrss.gov.cn);(3)比对库内 latest_known_year(2026),若官方出现 2027 公告且报名时间(通常1月下旬)临近即触发抓取;(4)兜底信号:微信公众号『江西组工微讯』(jxswzzb)同步推送职",
   "latest_known_year": "2026",
   "source_official_confirmed": true
  },
  {
   "name": "山东 (Shandong) 省考",
   "official_source_page": "https://www.dtdjzx.gov.cn/lygwy/index.jhtml",
   "table_url_pattern": "官方发布主体为\"灯塔-党建在线\"(中共山东省委组织部,dtdjzx.gov.cn)的\"录用公务员\"专栏。流程:专栏入口页 https://www.dtdjzx.gov.cn/lygwy/index.jhtml (亦聚合页 https://www.dtdjzx.gov.cn/staticPage/zhuanti/lygwy/lygwy.html) -> 年度\"考试录用公务员职位表/公告\"详情静态页 -> 页内职位表xlsx直链。\n\n详情页URL规律: http://www.dtdjzx.gov.cn/staticPage/zhuanti/gwyxgzt/<YYYYMMDD>/<数字ID>.html (gwyxgzt=公务员相关专题路径; 公告类用 gwyzkggzkgg, 公示类用 gwygsgg)。\n  - 2026常规省级机关职位表公告页: http://www.dtdjzx.gov.c",
   "format": "职位表为 .xlsx (招录职位一览表;通常含省直/各市/法院/检察院/公安等多sheet或多文件;山东体量大,2026约8332人/省直约583人,本库 full 表 6195职位)。分数线与名单为网页公告(无Excel附件)。parse_notes见 parse_notes 字段。",
   "parse_notes": "职位表列映射要点(对应本库 raw CSV schema): position_code(职位代码,山东为17位长码如13706001001000001), dept_name(招录机关/单位), bureau(机关/参公等), position_name(职位名称), position_desc(职位简介/工作内容), headcount(招录人数), education(学历,如\"大学本科以上\"/\"研究生\"), degree(学位), major(专业,山东用一级学科+专业学位描述,文本长且含逗号/分号,需按引号正确转义), political(政治面貌), work_location(工作地点), remarks(其他要求,本库把\"招录对象/职位类别/笔试类别A或B/性别要求/专业科目考试\"等合并进 remarks 用\" | \"分隔), service_year(服务年限), channel(=省考), source_url(应填官方 dtdjzx 直链)。\n多sheet/多文件: 山东职位表常分多个分册(省级机关、各设区市、法院系统、检察院系统、公安人民警察特殊职位等),解析时",
   "update_cadence": "职位表+招考公告: 每年11月上旬发布(2026轮于2025-11-05公告、11-07报名、12-07笔试)。补充录用(职位表+公告): 次年5月发布(2026补录公告2026-05-11)。笔试成绩+笔试合格分数线: 笔试后约1-1.5月,即次年1月(2026成绩与分数线于2026年1月公布)。面试人员名单(进面分来源): 次年1月底至2月初公布(2026面试名单约2月5日前公示),面试约次年3月(2026面试约3月14日)。报名/缴费人数: 报名期(11月)平台实时,官方无事后归档。",
   "new_cycle_detect": "主检测: 抓取官方专栏入口页 https://www.dtdjzx.gov.cn/lygwy/index.jhtml 及聚合页 https://www.dtdjzx.gov.cn/staticPage/zhuanti/lygwy/lygwy.html,匹配标题含\"<N>年度山东省省级机关及其直属机构考试录用公务员职位表/公告\",取最新年份N并与库内 latest_known_year(2026)比对,N>已知则为新轮次,从其详情页 /staticPage/zhuanti/gwyxgzt/<YYYYMMDD>/<ID>.html 内解出 v.dyjyzyk.dtdjzx.gov.cn 的 .xlsx 直链下载。辅助: 每年约11月上旬定时(11/1起每日)轮询;详情页/资源直链路径含上传年月日(如 .../file/2025-11-04/),可用日期前缀判断年度。备份检测源: 报名平台 ht",
   "latest_known_year": "2026",
   "source_official_confirmed": true
  },
  {
   "name": "河南 henan 省考公务员职位表 (河南省人事考试中心 hnrsks.com, 省考唯一官方报名/发布平台; 招考公告栏目gwyzt/zkgg, 2026起当年公告改挂hnstykslygwyzl/dnzkgg, 进面分/合格线在公示公告zngg)",
   "official_source_page": "http://www.hnrsks.com/sitesources/hnsrskszx/page_pc/gwyzt/zkgg/index.html",
   "table_url_pattern": "职位表为公告页内xlsx附件,直链规律 http://www.hnrsks.com/sitesources/hnsrskszx/upload/YYYYMM/数字时间戳.xlsx 。已验证2026直链 .../upload/202601/20260104161140859.xlsx 返回HTTP200/713KB,即henan.csv中source_url。YYYYMM为公告发布月(多为202412或202601)。承载该附件的公告页URL是不可推断的哈希(article+32位hex+.html): 2023-2025在 gwyzt/zkgg, 2026改在 hnstykslygwyzl/dnzkgg。刷新时先定位当年公告页,再从页内提取 upload/YYYYMM/*.xlsx 直链",
   "format": "xlsx 全省单文件约0.7至2.1MB; 2023至2025部分年度官方原件为xls, 2026为xlsx; 通常单sheet",
   "parse_notes": "职位代码8位数字可靠可作主键(非海南黑龙江吉林码不可靠省)。列含职位代码、用人单位、层级、职位名、招录数、学历学位、专业、政治面貌、地点、备注",
   "update_cadence": "职位表与招考公告约上一年12月底至当年1月初发布。笔试约当年3月。笔试合格分数线与进面名单约4至5月发布。报名与竞争比在报名期由官方hnrsks.com分时段发布总量,逐职位明细由华图等机构聚合",
   "new_cycle_detect": "用WebSearch搜「河南省<下一年>年度统一考试录用公务员公告 site:hnrsks.com」,命中 gwyzt/zkgg 或 hnstykslygwyzl/dnzkgg 下 article哈希页即新一年,比对 latest_known_year+1。注意: 不能用curl/WebFetch直抓列表页——列表页(index.html→meta refresh→list1.html)及article页为JS渲染,curl得404或空壳; 且站点仅HTTP而WebFetch强制HTTPS会ECONNREFUSED,须用WebSearch或headless浏览器(chrome-devtools)读列表。但定位到公告页后,页内 upload/YYYYMM/*.xlsx 附件用curl可直接HTTP200下载",
   "latest_known_year": "2026",
   "source_official_confirmed": true
  },
  {
   "name": "湖北 (hubei) 省考",
   "official_source_page": "https://rst.hubei.gov.cn/hbrsksw/zlplks/jglyks/hbsgwyks/ (湖北省人事考试网-湖北省公务员考试栏目, 主管:湖北省人力资源和社会保障厅/省委组织部, 政府.gov.cn官方). 子栏目: 招考公告 zkgg/ (录用公告), 相关下载 xgxz/ (职位表/报考指南/大纲附件), 重要通知 zytz/ (笔试合格分数线/资格复审进面名单/报名人数统计), 成绩查询 https://rst.hubei.gov.cn/hbrsksw/ksfw/cjcx/. 已WebFetch确认2026年度公告与职位表均在此发布且可达.",
   "table_url_pattern": "职位表xlsx位于\"相关下载\"栏目 xgxz/<YYYYMM>/P0<时间戳ID>.xlsx. 已确认实例(2026): https://rst.hubei.gov.cn/hbrsksw/zlplks/jglyks/hbsgwyks/xgxz/202601/P020260112368501086460.xlsx (发布2026-01-12). 同目录同日还有报考指南.docx、笔试大纲.doc、招录部门联系电话一览表.xls. 注意: P020...后的串是不可预测的内部时间戳ID(无法纯靠年份递推构造), 必须先抓 xgxz/ 栏目页或当年招考公告详情页, 从页面解析出新一年的P0...xlsx真实链接. 公告详情页URL格式: zkgg/<YYYYMM>/t<YYYYMMDD>_<7位ID>.shtml (实例: zkgg/202601/t20260112_5853207.shtml)",
   "format": "Excel .xlsx (单文件多sheet). 2026实例确认为 .xlsx; 招录部门联系电话表为 .xls, 报考指南 .docx, 笔试大纲 .doc.",
   "parse_notes": "多sheet: 按系统分sheet(省直机关/各市州/法院/检察院/公安/监狱戒毒等), CSV已用\"来源sheet:省直机关\"等标注来源sheet, 解析时需遍历全部sheet合并. 列映射: 招录机关→dept_name/bureau, 职位名称→position_name, 职位简介→position_desc, 招录人数→headcount, 学历→education, 学位→degree, 专业(国标专业码+名称如\"0101哲学,0501中国语言文学\")→major, 政治面貌→political, 工作地点/机构层级→work_location; 其余(招录对象/年龄/双学位/专业科目考试/面试前测试/参公/考察比例/备注)合并入remarks以\" | \"分隔. 职位码: 17~18位数字(如14230201003000001), 湖北码可靠, 不属海南/黑龙江/吉林那类码不可靠省份, 可直接用position_code做主键. 清洗: 部分历年单元格含 _x000D_ 软回车残留需去除.",
   "update_cadence": "职位表+招考公告+报考指南+笔试大纲: 每年1月上中旬(2026=1/12, 2025=1月初, 节奏稳定). 网上报名: 1月中旬(2026=1/13-1/19). 笔试: 3月中旬(2026=3/14行测+申论, 3/15公安专业/综合知识). 笔试成绩+分级笔试最低合格分数线: 笔试阅卷结束后约4月中旬(2025=4/11, 发布于zytz栏目). 资格复审/进入面试人员名单(.xlsx, 按1:3折算成绩从高到低, 可倒推逐职位最低进面分): 4月下旬起按招录机关/各市州分批在zytz发布(2025确认 zytz/202504/P020250411590927518008.xlsx). 报名人数统计表: 报名窗口期内逐日发布(累计报名/审核通过/平均竞争比; 缴费后一般不再单独公布最终缴费汇总). 拟录用人员公示: 5月下旬分机关在zytz发布.",
   "new_cycle_detect": "方法1(推荐): 抓相关下载栏目 https://rst.hubei.gov.cn/hbrsksw/zlplks/jglyks/hbsgwyks/xgxz/ , 解析\"湖北省<YYYY>年度省市县乡考试录用公务员招考职位表\"条目及其P0...xlsx链接, 标题年份>latest_known_year(2026)即新一年, 直接取该xlsx. 方法2: 抓招考公告栏目 zkgg/ , 检测出现新的\"湖北省<YYYY>年度省市县乡考试录用公务员公告\"(t<YYYYMMDD>_*.shtml). 方法3(定时): 每年1月上旬起每日轮询上述两栏目页(职位表固定1月中旬发布). 关键: xlsx路径P0...时间戳ID不可预测, 不能靠URL年份硬递增构造, 必须从栏目页/公告页解析真实链接. 进面分新数据检测: 4月中下旬轮询重要通知栏目 zytz/ 出现\"笔试合格分数线\"及各机关\"资格复审人",
   "latest_known_year": "2026",
   "source_official_confirmed": true
  },
  {
   "name": "hunan",
   "official_source_page": "https://www.hxw.gov.cn/content/2026/01/13/14851200.html （主源:红星网 hxw.gov.cn = 中共湖南省委组织部官方招考发布站,即已抓数据来源域。该页为\"湖南省2026年考试录用公务员公告\",含职位表xlsx附件。年度入口可经红星网\"公务员工作-考录遴选\"栏目或逐年专题页(如 https://www.hxw.gov.cn/content/2025/01/26/14689484.html 为2025专题)进入。报名/缴费人数另由湖南人事考试网官方专题发布:https://rst.hunan.gov.cn/rst/hnrsksw/c103",
   "table_url_pattern": "公告页(HTML): https://www.hxw.gov.cn/content/<YYYY>/<MM>/<DD>/<8位数字id>.html (报名公告通常每年1月发布,如2026=01/13/14851200, 2025=01/25/14689129, 2024约02月,2023=01/12/14091900)。职位表实体文件(xlsx,挂在公告页附件区,CDN域): https://img.hxw.gov.cn/<YYYY>/<MM-DD>/<uuid>.xlsx。已验证示例:2026 https://img.hxw.gov.cn/2026/01-13/c8bf0670-4ac0-4d1b-acc8-5c2c06849917.xlsx ; 2025 .../2025/01-25/26553517-...xlsx ; 2024 .../2024/02-27/2880f87a-...x",
   "format": "Excel职位表:近年(2021-2026)为.xlsx,早年(2020)为.xls。单文件含多sheet(按考区/层级分:省直机关、各市州、监狱戒毒/政法等),抓取时需遍历所有sheet合并。报名/缴费人数为动态网页表格(HTML table),无长期归档下载文件。进面/笔试成绩名单为.xlsx附",
   "parse_notes": "职位表列映射(已抓CSV统一schema): dept_name=招录单位, bureau=单位层级(省直机关/市州直机关/县市区机关等), position_name=职位名称, position_desc=职位性质(公务员/参照公务员法管理人员), headcount=招录人数, education=学历, degree=学位, major=专业(原表常用全角分号/逗号分隔,含专业代码如2020年\"200104新闻传播学\"), work_location=工作地点。大量条件字段被压进remarks(管道符| 分隔): 单位层级/职位性质/笔试科目(2025前为\"申论类别:省市卷/行政执法卷\",2026改为\"笔试科目:行测、申论(...卷)[、专业知识]\")/身份要求/基层工作年限/性别/最高年龄/户籍/资格证书/最低服务年限/开考比例/体能测评/体检标准等。多sheet须全部读取再纵向合并。position_code原表多为空(湖南职位表不一定有稳定数字职位代码,本库position_code留空,以dept_name+position_name+bureau定位)——属\"码不可靠",
   "update_cadence": "职位表+招考公告:每年1月发布(2026=1/13,2025=1/25,2023=1/12;个别年偏晚如2024约2月、2020因疫情延至6月)。网上报名:1月底~2月初(2026=1/29~2/4)。报名/缴费人数:报名缴费期内由湖南人事考试网每天上午公布各职位缴费数,报名结束公布冷门(少人)职位。笔试:约3月(2026笔试提示3/12)。笔试成绩+最低合格线:约4月(2026成绩公告4/10,2024专题成绩页2024/04/10)。资格审查/体能测评/进面名单:成绩公布后陆续发(4月);面试公告4-5月(2026集中面试4/21);体检名单约4月底-5月(2026=4/30);补充录用公告约5月。",
   "new_cycle_detect": "三段式检测:(1) 抓红星网年度专题/\"公务员工作-考录遴选\"栏目列表(或直接GET https://www.hxw.gov.cn/content/<当前年+1>/01/ 路径下的招考公告),匹配标题正则\"湖南省(\\d{4})年考试录用公务员公告\",取最大年份与latest_known_year比对,>已知则有新一年。(2) 命中公告页后,正则抓页面内 img.hxw.gov.cn 下 .xlsx|.xls 链接定位职位表文件(uuid不可推测,必须从HTML提取)。(3) 触发时点:每年12月-次年2月轮询(湖南通常1月发);若公告页含\"职位表\"附件即视为新周期就绪。注意区分主公告与\"公安特殊职位/警察\"\"选调生\"\"补充录用\"等子公告,主库只取年度主职位表(标题为\"...考试录用公务员公告\")。建议同时记录已抓公告页URL+附件uuid,新一年uuid变化即确认更新。",
   "latest_known_year": "2026",
   "source_official_confirmed": true
  },
  {
   "name": "广东 (guangdong) 省考 公务员职位表",
   "official_source_page": "https://www.gdzz.gov.cn/tzgg/content/post_24016.html (广东省2026年考试录用公务员公告; 主入口为中共广东省委组织部\"广东组织工作网\"通知公告栏 https://www.gdzz.gov.cn/tzgg/index.html, 每年招考公告均挂此; 公务员录用通知公告/进面公告栏 https://www.gdzz.gov.cn/gwygz/lypytzgg/; 同步发布于广东人事考试网 https://rsks.gd.gov.cn/ 与广东省人社厅 http://hrss.gd.gov.cn。报名/查分系统 https://ggfw.hr",
   "table_url_pattern": "职位表随招考公告以单一打包ZIP发布, 托管在组织部站点 /public/ 目录, 文件名按年份命名: https://www.gdzz.gov.cn/public/广东省<年份>年考试录用公务员公告附件.zip (URL中中文需UTF-8百分号编码)。已HEAD验证: 2026=https://www.gdzz.gov.cn/public/广东省2026年考试录用公务员公告附件.zip (HTTP200, application/zip, 1133943字节, Last-Modified 2025-10-19); 2025=https://www.gdzz.gov.cn/public/附件 1-5.zip (公告页 post_22222.html, 约1.37MB); 2024=https://www.gdzz.gov.cn/public/广东省2024年考试录用公务员公告附件1-5.z",
   "format": "ZIP压缩包(约1.1-1.4MB), 内含5个附件: 附件1=职位表(.xls/.xlsx)、附件2=报考指南、附件3=专业参考目录、附件4=笔试大纲、附件5=报考咨询电话。仅附件1职位表是结构化表格(Excel), 其余为说明文档。",
   "parse_notes": "解析流程: (1)抓公告页post_XXXXX.html→正文取附件ZIP直链; (2)下载ZIP并解包, 取\"职位表\"那个.xls/.xlsx。职位表为单工作表(全省各级机关招录职位汇总, 含县以上机关/乡镇街道/公安/法检等各系统于同一表), 列字段映射到本库schema: 职位代码→position_code, 招录机关/单位→dept_name, 机构层级或系统(县以上机关/乡镇街道等)→bureau, 职位名称→position_name, 职位简介/工作职责→position_desc, 招录人数→headcount, 学历→education, 学位→degree, 专业→major, 政治面貌→political, 工作地点→work_location, 其他要求/备注(含2年以上基层工作经历/限应届/职位类型综合管理类/专业技术类/行政执法类等)→remarks。专业列两种编码体系并存: 旧版用学科代码如\"哲学(A01)/法学(A0301)\", 新版用大类码如\"02装备制造类/11信息电子类\", 解析时整段保留原文不要拆码。channel固定\"省考\"。注意CSV中ma",
   "update_cadence": "职位表+招考公告: 每年10月中下旬发布(2026公告2025-10-19发, 报名10/20-24, 缴费11/11-14, 笔试12/7; 2025公告2025-01-07发为上一周期; 注意广东近年将笔试提前到前一年12月, 公告口径年份=次年)。进面分/合格分数线: 笔试后, 资格审核与面试公告通常次年1月中旬至4月发布(2026资格审核面试公告2026-01-15 post; 2025为4月9-22日资格审核)。官方仅统一公布全省合格分数线(2024年起笔试/面试/总成绩均60分/满分200)与进面比例(招1-3人按1:3, 招4-5人按1:2.5向下取整), 不出省级逐职位最低进面分汇总表, 逐职位进面分需从各招录机关/考区面试名单反推或用第三方汇总。报名/缴费人数: 仅报名窗口期内(10月下旬-11月)通过 ggfw.hrss.gd.gov.cn 查询系统登录态动态公布(每日",
   "new_cycle_detect": "主检测: 轮询组织部通知公告栏 https://www.gdzz.gov.cn/tzgg/index.html (或公务员录用栏 https://www.gdzz.gov.cn/gwygz/lypytzgg/), 匹配标题正则\"广东省(\\d{4})年考试录用公务员公告\"。一旦出现比 latest_known_year(2026)更大的年份, 进入该公告页 post_XXXXX.html 解析正文附件ZIP超链接并下载。辅助: post_XXXXX.html 的ID单调递增(2024=20294→2025=22222→2026=24016), 可由已知ID向后探测; ZIP直链可按文件名模板 /public/广东省<下一年>年考试录用公务员公告附件.zip 先HEAD探测(命中HTTP200/application/zip即新一年发布), 但因年度文件名不完全统一, 应以\"公告页正文解析出的",
   "latest_known_year": "2026 (recon-map.json table_year=2026; full csv已含2026年9344职位; 官方公告 post_24016.html 确认\"广东省2026年考试录用公务员公告\"2025-10-19发布, 招考11779人。hist库覆盖2020-2025)",
   "source_official_confirmed": true
  },
  {
   "name": "广西 (guangxi) — 省考公务员职位计划表",
   "official_source_page": "https://www.gxpta.com.cn/ksxm/gwyzlks/  （广西人事考试网「公务员招录考试」栏目,主办:广西壮族自治区人事考试院/广西壮族自治区公务员局;各年度专题入口形如 https://www.gxpta.com.cn/ksxm/gwyzlks/gx2026ndkslygwyxdszt/ 。次要官方渠道:八桂先锋网 https://www.bgxf.gov.cn/ ,职位计划表同步发布)",
   "table_url_pattern": "年度专题页: https://www.gxpta.com.cn/ksxm/gwyzlks/gx<YYYY>ndkslygwyxdszt/  → 公务员公告页: .../gx<YYYY>ndkslygwyxdszt/<YYYY>ngwygg/t<NNNNN>.html (如2026: t13229.html) → 公告页内《广西壮族自治区<YYYY>年度考试录用公务员职位计划表.xlsx》附件直链形如 https://www.gxpta.com.cn/ksxm/gwyzlks/gx<YYYY>ndkslygwyxdszt/<YYYY>ngwygg/P0<YYYYMMDD><随机数字>.xlsx (2026实例:P020260118397898449695.xlsx,已实测可下载735KB;同一文件也镜像在 /govapp/lib/ueditor_demo/ueditor2/dialogs/a",
   "format": "Excel .xlsx (Microsoft Excel 2007+),多sheet工作簿。职位计划表附件直链可直接下载入库;进面分/笔试合格分数线为HTML网页通告(无逐职位Excel汇总)。",
   "parse_notes": "格式:.xlsx (Microsoft Excel 2007+),多sheet——共15个工作表:1个「区直」(自治区直属) + 14个设区市(南宁/柳州/桂林/梧州/北海/防城港/钦州/贵港/玉林/百色/贺州/河池/来宾/崇左),解析须遍历全部sheet合并。第1行为表头,33列。列映射:职位序号→(行内序号,非全局)|招录机关→dept_name|用人单位→bureau|机构层级→机构层级(自治区级/市级/县级/乡镇)|系统属性|单位性质|职位名称→position_name|职位代码→position_code(8位数字,如45150001,前两位45=广西区码,可靠)|职位类别(A/B/C类)|职位招考对象→political/channel线索|招考人数→headcount|职位简介→position_desc|专业(学科)类别→major|学历→education|学位→degree|年龄|是否要求2年以上基层工作经历→service_year线索|是否要求应届毕业生|是否属于紧缺职位|是否属于人民警察职位|人民警察职位类别|是否属于艰苦边远地区|是否属于合并职位|是否进行",
   "update_cadence": "职位计划表:每年1月中旬随《考试录用公务员公告》发布(2026年1月18日发布,1月19-25日报名,1月28日缴费截止)。笔试:3月中旬(2026年3月14日,行测上午+申论下午)。笔试合格分数线(进面门槛)通告:笔试后约3-4周即4月上旬发布(2026年4月7日,分普通职位/法官助理/检察官助理/选调生/公开遴选多份独立通告,均为HTML网页),笔试成绩同步在 gxpta 网自助查询。报名/缴费人数:官方不作公示项(available=false),公告只公示面试入围/体检考察/拟录用名单;报名人数与竞争比仅第三方(上岸鸭 m.gwy.com/gxgwy/、公考职位表 gx.gwyzwb.com/bmrs/、中公、华图、南宁本地宝)在报名期逐日统计。逐职位最低进面分无单一官方汇总Excel,须从各市/资格审查单位《面试资格审查公告》逐个提取。",
   "new_cycle_detect": "编程检测优先级:(1)直接探测下一年度专题页是否上线——GET https://www.gxpta.com.cn/ksxm/gwyzlks/gx<latest+1>ndkslygwyxdszt/ ,返回HTTP200且含「<latest+1>年度考试录用公务员」字样即视为新周期开始;(2)轮询「公务员招录考试」栏目页 https://www.gxpta.com.cn/ksxm/gwyzlks/ ,解析年度专题入口列表,出现 gx<新年份>ndkslygwyxdszt 链接即新一年;(3)轮询新闻公告页 https://www.gxpta.com.cn/sy/xwgg/ 与首页,匹配标题「广西壮族自治区<YYYY>年度考试录用公务员公告」。命中后进入该年度 <YYYY>ngwygg/ 子目录抓公告页(t<NNNNN>.html),正则提取《…职位计划表.xlsx》附件href(P0开头.xl",
   "latest_known_year": "2026",
   "source_official_confirmed": true
  },
  {
   "name": "海南",
   "official_source_page": "http://ea.hainan.gov.cn/ywdt/gwyks/ (海南省考试局-公务员考试栏目，历年公告归档入口；与南海先锋网 https://www.nanhaixf.gov.cn 同步发布。报考/职位表公告示例：https://www.nanhaixf.gov.cn/articles/59/48852.html 海南省2026年度考试录用公务员公告)",
   "table_url_pattern": "职位表为不可预测的哈希文件名，必须先抓公告页再取附件链接，不能凭年份直接拼 URL。两种宿主：\n(1) 2026 起在南海先锋网：报考公告页 https://www.nanhaixf.gov.cn/articles/59/<公告id>.html，职位表附件 https://www.nanhaixf.gov.cn/uploads/1/file/<YYYY>/<MM>/<时间戳>_<随机串>.xls (2026实例: https://www.nanhaixf.gov.cn/uploads/1/file/2026/01/20260115103924732_i2oefyac89ua.xls；同页含专业参考目录.zip)。\n(2) 2024/2025 在省政府公务员招考频道：公告页 https://www.hainan.gov.cn/hainan/gwyzk/<YYYYMM>/<hash>.shtm",
   "format": "Excel(.xls 为主，部分年份 .xlsx)。职位表为单一 Excel 文件(一般单 sheet 全省职位)；专业参考目录为独立 .zip(内含 Excel/PDF)；面试安排表/进面名单为另发的 .xlsx 附件。",
   "parse_notes": "职位表为单一 Excel(.xls 居多)，一般单 sheet 覆盖全省。列映射(对照已抓 CSV)：部门代码/招录机关→dept_name，职位代码→position_code，职位名称→position_name，科目类别(甲/乙类，2022起改A/B类)→position_desc 首字段，招考人数→headcount，学历→education，学位→degree，专业(研究生/本科/专科分段)→major，工作地点(市县)→work_location，开考比例/招考对象/其他条件/部门属性/部门性质/民族/户籍/性别/年龄/备注/部门代码→拼入 remarks。\n注意：(1)海南职位代码 position_code 普遍只是\"01\"占位，真正唯一键是\"部门代码\"(remarks 末段，如 0001/0235)，编程去重/匹配用部门代码而非 position_code——海南码不可靠，勿以 position_code 作主键。(2)\"科目类别\"历年口径变更：2020-2021 用甲类/乙类，2022 起用 A类/B类，归一化时需映射。(3)定向职位(四项目人员/退役士兵/专武干部",
   "update_cadence": "职位表/报考公告：每年1月中旬发布(2026-01-15，报名1月19-23日；2025-01-10，报名1月13-17日)。笔试：3月中旬(2026年3月14-15日，2025年3月15-16日)。进面/笔试合格分数线+面试公告：4月中上旬至4月下旬(2026-04-22发布笔试成绩与分数线及面试公告，正文2026-04-09定线；2025-04-08)。报名人数/过审人数/竞争比：报名期内(1月中下旬)在网上报名系统实时可查，无报名费故无\"缴费\"口径，机构(华图/上岸鸭)逐日聚合，报名截止后(1月下旬)出最终竞争比。",
   "new_cycle_detect": "编程检测：抓取 ea.hainan.gov.cn/ywdt/gwyks/ 与 https://www.nanhaixf.gov.cn/articles/59/ 公告列表，正则匹配标题\"海南省(\\d{4})年度考试录用公务员公告\"，取最大年份与 latest_known_year(2026)比较；出现 2027 即触发刷新并解析正文取新职位表 .xls 链接。辅助信号：URL 中年月段 /uploads/1/file/<YYYY>/01/ 或 /hainan/gwyzk/<YYYY>01/ 出现新年份。节奏锚点：每年1月中旬必发公告，可在每年1月起轮询；亦可比对附件路径年份段递增。",
   "latest_known_year": "2026",
   "source_official_confirmed": true
  },
  {
   "name": "重庆 (Chongqing) 省考公务员职位表",
   "official_source_page": "https://rlsbj.cq.gov.cn/ywzl/rsks/gwyks/",
   "table_url_pattern": "https://rlsbj.cq.gov.cn/ztzl/zqs2020ndkslygwyzl/gwyks<YEAR>/<YYYYMM>/P0<timestamp>.xlsx",
   "format": "Excel(.xlsx/.xls) 官网附件",
   "parse_notes": "单/多sheet视年份; 列含 序号/主管单位/招录单位/职位名称/职位类别/职级层次/招录人数/学历/学位/专业/政治面貌/基层工作经历/是否应届/咨询电话/其他要求。无统一职位代码(position_code空), 去重用\"主管单位+职位名称+序号\"。重庆码可靠(非海南/黑龙江/吉林码不可靠类)。专业列多行文本(本科/研究生分行), CSV需引号包裹防逗号换行破列。",
   "update_cadence": "职位表+公告: 1—2月; 报名缴费统计表: 2月报名截止后; 笔试: 3月; 笔试合格分数线公告: 4月(按职位类别分档); 总成绩/进面名单公布表: 4月; 拟录用公示: 5月。",
   "new_cycle_detect": "抓 gwyks/ 栏目列表取最大\"<YYYY>年度...公告\"年份, 并探活专题目录 .../gwyks<YEAR+1>/ 是否200, 与 latest_known_year 比对; 命中则进该年公告页抓职位计划表附件直链, 取不到回退镜像。1月起周级轮询。",
   "latest_known_year": "2026",
   "source_official_confirmed": true
  },
  {
   "name": "四川 (sichuan) — 省考公务员职位表",
   "official_source_page": "https://www.scpta.com.cn/gwyzt.html (四川省人力资源和社会保障厅人事考试专栏-公务员考试专题/录用专题页, 官方发布入口); 配套公告列表页 https://www.scpta.com.cn/front/News/List/56 (人事考试专栏\"公务员\"分类公告, 按时间倒序, 含历年\"公开考试录用公务员公告\")。发布主体为四川省人社厅(官方), 已实测可达。",
   "table_url_pattern": "职位表文件下载URL为不可预测的哈希形式(非年份递增): https://www.scpta.com.cn/front/download-<32位hex哈希> 。实测 2026 省级机关职位情况表 = https://www.scpta.com.cn/front/download-702599dfd1b8418fb0ea22d46d192477 (实测直接返回 .xlsx 二进制); 报考指南 = https://www.scpta.com.cn/front/download-1e159b653f59475d9be1650ceca55a90 。哈希每年变化, 无法靠拼接年份定位。正确做法: 先抓取年度招录公告详情页(URL 形如 https://www.scpta.com.cn/front/News/info/<hash>?t=56, 2026 省级机关公告=6c3a487c11c94b4",
   "format": "XLSX(.xlsx) 职位情况表/职位简介表(直接通过 scpta.com.cn/front/download-<hash> 下载,实测返回 Office Open XML 二进制);报考指南为同样形式的附件。官方专题页为 ASP.NET 动态网页(JS 渲染),公告列表为服务端渲染 HTML 可",
   "parse_notes": "文件为 .xlsx(实测 Office Open XML), 通常含多张表/多个 sheet: (1) 省级机关及其直属机构职位情况表; (2) 各市州合并职位表; (3) 定向(特殊人员)职位统计表——优秀村社区干部/优秀工人农民/服务基层项目人员/事业编制人员/退役军人专项, 与普通职位分两张表发布, 退役军人专项岗在此表。列映射(对照库内 CSV schema): 招录机关->dept_name, 内设机构->bureau, 职位名称->position_name, 职位简介/职位描述->position_desc, 招录名额->headcount, 学历->education, 学位->degree, 专业->major, 政治面貌->political, 工作地点->work_location; 职位代码 position_code 为 8 位数字(如 26117001, 前两位=年份后两位), 四川职位代码可靠(不属于海南/黑龙江/吉林那类码不可靠省), 可作主键去重。考试类别/考录对象/考录范围/拟任职务等并入 remarks。service_year(服务年限)字段在退",
   "update_cadence": "职位表(职位情况表)+招录公告: 每年 10 月下旬随省级机关公告一并发布(2026 周期为 2025-10-29 发布, 2025 周期为 2024-10-31)。报名: 紧接公告, 约 10/30-11/5(2026); 报名期内每日上午 10:00 滚动发布逐职位\"报名/缴费人数统计表\", 缴费截止后出最终统计。笔试: 12 月上旬(2026=2025-12-07)。进面分: 不发布统一全省分数线文件——笔试成绩与职位排名/是否进入资格复审, 约次年 1 月上旬(2026 周期约 2026-01 上旬/1月16日前)在报名网站个人查询, 各市州组织部官网另发资格复审(进面)名单; 进面按职位表设定比例(普遍 3:1, 艰苦边远可放宽)由高到低确定。面试: 约次年 1 月下旬至 2 月上旬。",
   "new_cycle_detect": "主检测: 抓取官方公告列表 https://www.scpta.com.cn/front/News/List/56 (服务端 HTML, 时间倒序), 匹配标题含\"公开考试录用公务员\"且含\"省级机关及其直属机构...公告\"的最新年度条目, 解析其年份与详情页 URL(/front/News/info/<hash>?t=56)。比对 latest_known_year(当前=2026): 出现 >2026(如\"2027年度\")的省级机关录用公告即视为新周期。命中后进入该公告详情页, 解析正文附件区 download-<hash> 链接拿到当年 .xlsx 职位情况表与定向职位表。辅助校验: 专题页 https://www.scpta.com.cn/gwyzt.html 是否切换到新年度专题, 及第三方(上岸鸭 m.gwy.com/scgwy、本地宝)是否出现\"<新年>四川省考职位表\"以交叉验",
   "latest_known_year": "2026 (公告于 2025-10-29 发布, 笔试 2025-12-07, 笔试成绩约 2026-01 上旬公布; 库内 hist 已有 sichuan-2020 至 sichuan-2026.csv, 2026 为最新, 共 4572 行)",
   "source_official_confirmed": true
  },
  {
   "name": "贵州 (Guizhou) 省考公务员职位表",
   "official_source_page": "https://www.gzzzb.gov.cn/tzgg/ (贵州党建云·中共贵州省委组织部 通知公告栏目;主站 https://www.gzzzb.gov.cn/ ;报名/职位下载并行官方入口 贵州人事考试信息网 https://www.gzrsks.com.cn/ 。每年的\"贵州省<年度>省、市、县、乡四级机关统一面向社会公开招录公务员公告\"在此发布,职位表作为附件随公告下载)",
   "table_url_pattern": "两层结构,均在 gzzzb.gov.cn 域内: (1) 招录公告页 = https://www.gzzzb.gov.cn/tzgg/<YYYYMMDD>/<YYYYMMDD>_<6位数字id>.shtml (已验证: 2023=/tzgg/20230108/20230108_905248.shtml, 2024=/tzgg/20240118/20240118_779296.shtml, 2025笔试分数线=/tzgg/20250418/20250418_473952.shtml, 2026面试公告=/tzgg/20260421/20260421_104352.shtml)。(2) 职位表/名单文件 = https://www.gzzzb.gov.cn/visit/<sha256内容哈希>.xlsx (已验证: 2025全量职位表=https://www.gzzzb.gov.cn/visi",
   "format": "职位表=Excel (.xlsx 为主, 人民警察表偶为 .xls);进面分/总成绩排名=各考区面试公告内的 Excel 附件;笔试合格分数线/报名人数统计=网页(.shtml)正文。已抓 guizhou.csv 列已规整为标准17列(source_province,year,position_co",
   "parse_notes": "列映射要点: 原始Excel字段含 招录机关/单位、职位代码、职位名称、职位简介、招录人数、学历、学位、专业(分本科/研究生两段,用 | 拼接)、政治面貌、基层工作经历年限、工作地点、咨询电话、机构性质、职位类别 等;原始的\"基层工作经历/工作性质说明/机构性质/职位类别/咨询电话/单位网站\"等多被并入 remarks 字段(以 ' | ' 分隔的 key:value)。多sheet/多附件: 公务员职位与人民警察职位分属不同附件(附件1/2 vs 附件3),刷新时两者都要抓并合并。专业列常分\"本科:... | 研究生:...\"两段。position_code 在贵州可靠(如 00000101)、可作主键一部分;贵州不属于海南/黑龙江/吉林那类码不可靠省。坑点: gzzzb.gov.cn 的 /tzgg/ 列表页是 JS 动态渲染,静态抓取(WebFetch)拿不到公告清单,需用浏览器/CDP 渲染或先通过 WebSearch 定位当年公告 .shtml,再解析正文里的 /visit/*.xlsx 附件直链。年份字段需程序补写(全量CSV仅含本期年份)",
   "update_cadence": "招录公告+职位表: 每年1月中旬发布(2025-01-16、2026-01-16,均含 附件 职位表)。报名/缴费人数统计: 报名结束后约2月中旬公布全省总报名数及各职位报名人数(笔试约3月)。笔试合格分数线公告: 4月中下旬(2025-04-18)。进面分/资格复审/面试公告(含进面名单与总成绩排名Excel): 4月下旬至5月,按各市州考区(省直、贵阳、遵义、黔南等)分批发布(2026省直面试公告 2026-04-21,面试4月25-26日)",
   "new_cycle_detect": "编程检测: (1) 比对 latest_known_year, 若当前年份>已知年, 用 WebSearch/站内检索关键词 \"贵州省<目标年>年度省、市、县、乡四级机关统一面向社会公开招录公务员公告\" 定位新年度招录公告 .shtml; (2) 周期性轮询 https://www.gzzzb.gov.cn/tzgg/ 通知公告列表(因JS渲染需用无头浏览器/CDP), 匹配标题含\"<年>年度...公开招录公务员公告\"且日期≈每年1月中旬; (3) 命中公告页后解析正文 /visit/<hash>.xlsx 附件直链入库。注意不能靠 /visit/ URL 年份递增——文件名为内容哈希,必须经公告页抽链。辅助源: 贵州人事考试信息网 https://www.gzrsks.com.cn/ 同步发布报名入口与职位下载",
   "latest_known_year": "2025 (库内全量 guizhou.csv 与 hist 2023-2025 均为 2025 及更早;官方 2026 年度招录公告及职位表(4833人,2026-01-16发布)已在 gzzzb.gov.cn 上线可达,为当前已发布最新一期,刷新时应抓 2026)",
   "source_official_confirmed": true
  },
  {
   "name": "云南 (yunnan)",
   "official_source_page": "http://www.ynylxf.cn/topicweb/ynskslygwy/index.html",
   "table_url_pattern": "职位表(.xlsx)附件真实路径形如 http://www.ynylxf.cn/Uploads/files/<YYYY-MM-DD>/<32位hex hash>.xlsx (已落地实例 2026: http://www.ynylxf.cn/Uploads/files/2026-02-04/f775689fb28e40069b78b3a4fec13f4e.xlsx)。该hash不可预测,必须从当年「招考简章」公告页解析得到。公告页路径规律: http://www.ynylxf.cn/Html/News/<YYYY>/<M>/<D>/<6位ID>.html。各年入口示例: 2026招考通过专题页1月底公告;2025招章页 http://www.ynylxf.cn/Html/news/2025/2/6/470717.html;2024/2023经专题页 http://www.ynylxf.cn/",
   "format": "XLSX(.xlsx 职位表;笔试名单);XLS(.xls 报名缴费情况);HTML(公告正文含分数线)",
   "parse_notes": "职位表为单一 .xlsx,列映射(已落地为CSV标准列): 招录单位→dept_name/bureau、职位名称→position_name、职位简介/工作内容→position_desc、招录人数→headcount、学历→education、学位→degree、专业→major、政治面貌→political、单位级别/工作地点→work_location、其余条件(身份要求/性别/民族/少数民族/年龄/学历性质/单位类别/是否大职位/选调生类型/人民警察类型/开考比例限制/试卷类别/咨询电话/发布网站等)聚合进 remarks(用「 | 」分隔 key:value)。注意点: (1) 职位表通常为单sheet全省合并表,无需按州市拆sheet;但 remarks 内的「发布网站」字段会指向各州市人才网(如红河人才网 hhzrc.cn),仅为咨询渠道不影响主表解析。 (2) 专业(major)单元格含多行文本(本科/研究生分级),CSV内会出现内嵌换行与逗号,务必用标准CSV库(quoting)解析,不可按逗号split。 (3) position_code 为内部生成(如11530",
   "update_cadence": "职位表+招考简章+招考公告+报考指南: 每年1月底至2月初集中发布(2026年公告1月30日发布,职位表附件标注日期2026-02-04;2025年2月6日)。报名/缴费: 报名期约2月上中旬(2026报名2月7-11日),官方逐日发布「截至X日报名缴费情况」.xls附件,每日一期直至报名结束。笔试: 约3月中下旬(联考日)。笔试成绩+笔试合格分数线+进入资格复审/体能测评名单: 约4月上中旬发布(2026年4月10日)。整体节奏: 1月底出表→2月报名(逐日缴费数据)→3月笔试→4月出分及进面名单。",
   "new_cycle_detect": "三种互补方式逐年自动检测: (1) 抓官方专题页 http://www.ynylxf.cn/topicweb/ynskslygwy/index.html 的公告列表,匹配标题含「<年>年度考试录用公务员」+「招考简章/招考公告」的最新条目,该年>已知最新年(2026)即为新一年;通常1月底集中发布。 (2) URL年份递增探测: 公告页路径为 http://www.ynylxf.cn/Html/News/<YYYY>/<M>/<D>/<6位ID>.html,职位表xlsx附件路径为 /Uploads/files/<YYYY-MM-DD>/<32位hash>.xlsx,可监控 /Uploads/files/<新年份>-01/ 与 -02/ 目录下是否出现新附件。 (3) 比对已知最新年: 库内 full=2026、hist=2023/2024/2025,下一目标年=2027;每年1月中下旬起",
   "latest_known_year": "2026",
   "source_official_confirmed": true
  },
  {
   "name": "西藏 (xizang) 省考公务员职位表",
   "official_source_page": "https://hrss.xizang.gov.cn/xwzx/tzgg/ (官方厅“通知公告”栏目=唯一权威入口；逐年公告页示例 2026 t20251202_512168 / 2025 t20250113_456938 / 2023 t20230208_340777)",
   "table_url_pattern": "公告页 https://hrss.xizang.gov.cn/xwzx/tzgg/<YYYYMM>/t<YYYYMMDD>_<流水号>.html ；职位表附件 https://hrss.xizang.gov.cn/xwzx/tzgg/<YYYYMM>/P<约18位ID>.<xls|docx>(ID不可按年份推断，须解析公告页HTML获取)。当前库 source_url 用的是镜像 img.shanxiangjiaoyu.com，应改挂官方页。",
   "format": "附件按年份不固定：职位表 .xls(2026/2023) 或 .docx(2025附件1)；进面分/报名情况为 PDF。需按扩展名分支解析。",
   "parse_notes": "见上方 parse_notes 字段：列映射、码可靠(8位含年份)、进面分/报名口径、WAF防火墙陷阱、镜像源勿当官方源、网传竞争比为国考数据勿混用。",
   "update_cadence": "职位表/报名公告多在上一年12月~当年2月(波动，2024在年中7月)；报名情况报名期分批发布；进面分+进面名单约笔试后1-3月(2025=3月26日)；拟录用公示约年中。以通知公告栏实际公告为准。",
   "new_cycle_detect": "抓 https://hrss.xizang.gov.cn/xwzx/tzgg/ 列表页(带真实UA绕WAF)，正则提取标题中《西藏自治区<YYYY>年高校毕业生公开考录公务员公告》的年份，取max与已知最新年2026比较，出现≥2027即新周期；并校验该公告页存在职位表附件链接。搜索引擎兜底:“西藏自治区 <下一年> 高校毕业生公开考录公务员公告”。",
   "latest_known_year": "2026 (已入库 full_positions=428/职位表已抓；2026进面分尚未发布，报名情况已分批公布)",
   "source_official_confirmed": true
  },
  {
   "name": "陕西 (Shaanxi) 省考 — 公务员职位表来源注册表",
   "official_source_page": "https://www.shaanxi.gov.cn/xw/ztzl/zxzt/zkzl/ （陕西省人民政府门户网\"招考资料/招考招录\"专题频道,全部公务员录用公告/职位表/进面分均在此发布,官方.gov.cn）。各年度公务员录用专题入口:https://www.shaanxi.gov.cn/xw/ztzl/zxzt/zkzl/<年份>/<年份>/ ;2026年入口已确认可达: https://www.shaanxi.gov.cn/xw/ztzl/zxzt/zkzl/2026/2026/202601/t20260126_3607890.html (《陕西省2026年统一考试录用公务员公告》,2",
   "table_url_pattern": "职位表为网页HTML,非单一文件。三层结构:(1)年度公告页 .../zkzl/<年份>/<年份>/<YYYYMM>/t<YYYYMMDD>_<id>.html;(2)同月发布的\"职位表索引页\",id通常紧邻公告页id(2026:公告=t20260126_3607890.html,职位表索引=t20260126_3607914.html);(3)索引页内含约13个分市/分系统子页面(西安/宝鸡/咸阳/铜川/渭南/延安/榆林/汉中/安康/商洛/杨凌示范区/省垂直管理系统/省直部门),子页URL规律 .../zkzl/<年份>/<年份>gwyfj/<YYYYMM>/t<YYYYMMDD>_<id>.html(2026子页示例 t20260126_3607915.html,id连号递增)。历史子页路径段随年份变化:2026=/2026/2026gwyfj/、2025=/2025/2025gwyf",
   "format": "网页HTML表格(无Excel/PDF附件;逐职位以HTML表格行呈现,需对约13个分市/分系统子页面分别抓取后合并)。",
   "parse_notes": "列schema稳定为15列 → source_province,year,position_code(职位代码,如251010001=年份2位+市码+序号),dept_name(用人单位/招考部门),bureau(单位,部分含[参照管理]标记),position_name(职位名称),position_desc(职位简介/工作内容),headcount(招录人数),education(学历),degree(学位,如硕士及以上),major(专业,常含专业代码如030101K法学,多专业用全角逗号\"，\"分隔),political(政治面貌),work_location(工作地点/服务地),remarks(备注,常以\"其他条件:\"前缀给出性别/服务年限),service_year,channel(=省考),source_url。注意:① 专业字段早年(2022)只有专业名无代码,2023+起带专业代码,清洗需兼容两种;② 备注列将\"录用后最低服务年限/男性/基层服务项目\"混在一起,需正则拆分;③ 各分市子页表头一致但HTML含全角逗号与&nbsp;实体,抓取需处理;④ 陕西position",
   "update_cadence": "职位表+招录公告: 每年1月下旬(2026=01-26,2025=01-24,2024=01-30,2023=01-20,2022/2021=02-22),近年提前至1月底;报名2月上中旬(陕西人事考试网sxrsks.cn报名期内实时显示各职位缴费/报名人数,结束后不长期留档,官方不单独发布报录比公示文件,报录比多为第三方统计)。笔试3月中下旬;笔试成绩+《进入面试资格复审人员情况表》(逐职位\"进入面试资格复审最低笔试总成绩\"=进面分,示例212.5,并配省直/市直/县乡分档合格线): 每年4月中旬(2025=04-14,2026预计同期);面试各项成绩/体检安排约5月(2026省直=05-11 t20260511_3637153.html)。",
   "new_cycle_detect": "优先级检测:(1)直接探测年度专题页 https://www.shaanxi.gov.cn/xw/ztzl/zxzt/zkzl/<latest_known_year+1>/<latest_known_year+1>/ 是否200可达(2025/2026均为 /<年份>/<年份>/ 形态),可达即新周期已开;(2)同时抓取栏目频道页 https://www.shaanxi.gov.cn/xw/ztzl/zxzt/zkzl/ 解析最新公告标题,匹配正则\"陕西省(\\\\d{4})年统一考试录用公务员公告\",取最大年份与latest_known_year比对,大于即触发刷新;(3)拿到新公告页后在同日/相邻id定位标题含\"职位表\"的索引页,再枚举其内分市子页URL入库。注意子路径段(gwyfj vs 2022)不稳定,务必从专题页/索引页动态解析真实链接,不要靠URL年份算式直接拼子页id。",
   "latest_known_year": "2026 (《陕西省2026年统一考试录用公务员公告》2026-01-26发布,招5272人,职位表索引页 t20260126_3607914.html 已确认可达。注:已抓入库 shengkao-full/shaanxi.csv 为2025年度=5081职位;hist 覆盖2021-2025;recon已侦察到2026专题页,但全量职位表尚需按2026分市子页重新抓取)",
   "source_official_confirmed": true
  },
  {
   "name": "甘肃 (Gansu) 省考公务员职位表",
   "official_source_page": "http://www.gszg.gov.cn/tzgg.htm （甘肃组工网·通知公告列表页，省委组织部官方门户，所有省考录用公告/职位简表/笔试成绩/进面名单均在此发布；报名系统亦在 www.gszg.gov.cn）。配套：甘肃人事考试网 https://ks.rst.gansu.gov.cn/ （报名人数实时统计入口）。年度公告页URL规律：http://www.gszg.gov.cn/<YYYYMMDD>/<32位hash>/c.html ，2026公告=http://www.gszg.gov.cn/20260130/63be26d75f2f4f85afc576e8b887df9a/c.",
   "table_url_pattern": "职位简表附件位于年度公告页同目录下。主流格式(2022-2026): http://www.gszg.gov.cn/<YYYYMMDD>/<pagehash>/<YYYYMMDD><pagehash>_<filehash>.xls （每年通常2个附件：省直职位简表 + 市州职位简表）。已核验2026实例: http://www.gszg.gov.cn/20260130/63be26d75f2f4f85afc576e8b887df9a/2026013063be26d75f2f4f85afc576e8b887df9a_497e5ddc0d360048d3b033056f33d74b71.xls 与 ..._493a15e7fb84b4401ab830bb200d783658.xls (均HTTP200, application/vnd.ms-excel)。注意命名不完全规律：2025其中一个附",
   "format": "Excel：.xls (2020-2024、2026主流) 与 .xlsx (2025部分文件) 混用。HTTP-only站点(无有效HTTPS证书，WebFetch会因强制升级HTTPS报cert错误)，需用 curl -A UA --max-time 直连 http://。",
   "parse_notes": "列映射(以2025市州职位简表sheet核验)：序号 / 市州名称 / 县市区单位科室名称(=招录单位/bureau) / 招考职位(position_name) / 职位代码(position_code，4位如0001) / 职位属性(行政或参公) / 职位简介(position_desc) / 招考人数(headcount) / 报考条件下分6子列：年龄·学历(education/degree)·专业(major)·政治面貌(political)·职称·基层工作经历(年)(service_year)。多行表头：第0行为合并标题行(《甘肃省XXXX年度考试录用…职位简表》)，第1行为主表头，第2行为报考条件下的子表头(年龄/学历/专业/政治面貌/职称/基层工作经历)，数据从第3行(序号=1)开始——解析时须跳过前3行并把\"报考条件\"的合并列拆为6列。多sheet/多文件：通常分【省直职位简表】+【市州职位简表】两部分。布局有两种，解析须自适应：(a)2025=单个.xlsx含2个sheet[市州职位简表, 省直职位简表]；(b)2022/2023/2026=2个独立.xls文件(各一",
   "update_cadence": "职位表/公告：每年1月底至2月初发布(2026=1月30日，2025=2月11日，2024=2月20日)，报名约2月初(2026报名2月2日-2月8日)。笔试：3月中旬(2026=3月14-15日，2025=3月15-16日)。报名人数：报名期间在甘肃人事考试网(ks.rst.gansu.gov.cn)报名系统内按职位实时统计(网页，非可下载文件)，缴费截止后定格。笔试成绩/合格分数线：4月上中旬发布(2026笔试成绩=4月8日，2024=4月27日)。进面名单(进入资格复审/体检人员名单)：随笔试成绩后陆续按省直考区+各市州分批在甘肃组工网公示(2026省直体检名单=4月30日；2025面试名单公示3月10-16日)。进面比例3:1(不足按实际合格人数，可降至不低于2:1且综合成绩≥60分)。整体年度周期：1月底公告→2月报名→3月中笔试→4月成绩+进面→4-5月面试体检。",
   "new_cycle_detect": "编程检测优先级：(1)抓取通知公告列表页 http://www.gszg.gov.cn/tzgg.htm (curl HTTP200可达)，正则匹配标题含\"XXXX年度考试录用机关公务员和参照公务员法管理单位工作人员公告\"且不含\"遴选/选调/选调生\"的链接，提取标题中的年份与对应 href=<YYYYMMDD>/<hash>/c.html ；若年份 > latest_known_year(2026) 即有新一年。(2)URL年份递增不可直接构造(hash不可预测)，故必须解析列表页拿到c.html后再进入页内提取.xls/.xlsx附件。(3)同一周期内还可检测后续节点新公告(笔试成绩公告→进面名单→体检名单)，标题模式分别含\"笔试成绩的公告\"\"进入资格复审/体检人员名单\"。(4)兜底：WebSearch \"甘肃省<下一年>年度考试录用机关公务员…公告\" 比对是否出现。注意列表页是GBK/",
   "latest_known_year": "2026",
   "source_official_confirmed": true
  },
  {
   "name": "青海 (Qinghai) 省考",
   "official_source_page": "http://www.qhpta.org.cn/ncms/gwyks.shtml （青海省人事考试信息网·公务员考试频道，时间倒序列出全部考录公告；首页 http://www.qhpta.org.cn/ncms/index.shtml）",
   "table_url_pattern": "http://www.qhpta.org.cn/ncms/article_<32位hex-md5>.shtml （哈希式文章URL，职位表Excel作附件挂其下，无年份递增规律；定位方式:从 gwyks.shtml 列表匹配\"<年份>年度考试录用公务员公告\"文章再取附件）",
   "format": "Excel(.xls/.xlsx)职位表附件 + 网页表格公告(进面分/综合成绩，分批非总表) + 报名期动态网页统计表",
   "parse_notes": "官方职位表为xls附件，列含招考单位/职位代码/职位名称/招考人数/学历/学位/专业(本科类与研究生码分列)/政治面貌/咨询电话/单位地址/备注。青海position_code官方且可靠(2026以63/23前缀，区分省直/各州考区)，可作去重主键，非\"码不可靠\"省。招录分公务员(2026=1356)+警察(376)+公检法/司法辅助(220)三类、常多文件发布需合并(全量CSV现1061条)。进面分:逐职位取进资格复审最后一名笔试成绩(比例>1:1职位)，无统一Excel，须逐条\"进入面试人员综合成绩通知\"网页抓取。CSV里 source_url(qh.gwyzwb.com华图、ahrsrcw.com安徽人才网)均为非官方镜像，仅可交叉校验，权威以qhpta为准。",
   "update_cadence": "职位表+招考公告:每年1月下旬发布(2026=1月23-24日)，报名1月26-30，公共科目笔试3月14；报名人数:报名窗口内qhpta动态发布、窗口结束后统计页下线(须报名期抓取);进面分/综合成绩:笔试后约2个月、5月分批发布(2026=5月8日至5月21日共14批，按地区/系统陆续更新)。",
   "new_cycle_detect": "编程抓取 http://www.qhpta.org.cn/ncms/gwyks.shtml (时间倒序公告列表)，正则匹配标题\"(\\d{4})年度?考试录用公务员公告\"；若年份>latest_known_year(2026)即判定有新周期→进入该文章页取职位表xls附件。建议1月下旬(职位表档)与5月(进面分档)分别定时轮询。统一用 .org.cn 域名避开 .com 证书无效问题；华图/安徽人才网镜像仅作交叉验证，不作权威源。",
   "latest_known_year": "2026",
   "source_official_confirmed": true
  },
  {
   "name": "宁夏 (ningxia) 省考",
   "official_source_page": "https://www.nxdjw.gov.cn/nxdjgsgg/",
   "table_url_pattern": "https://www.nxdjw.gov.cn/nxdjgsgg/<YYYYMM>/W020<日期+随机流水号>.xls （从当年招录公告HTML页内 ./W020*.xls 相对链接提取；已与2020-2026全部source_url核验一致；2026=W020260129608218278214.xls, 2025=W020250205369198503210.xls, 2024=W020240218329391324061.xls）",
   "format": "Excel(.xls)",
   "parse_notes": "见 parse_notes 字段：单sheet .xls；position_code为6位\"机关序号+职位序号\"逐年重排非全局唯一(须用year+code比对)；申论卷别A/B/C决定适用合格分数线须从remarks保留；报名/竞争比与逐职位进面分均不在职位表内；宁夏码可靠。",
   "update_cadence": "职位表/公告:次年1-2月为主(2026=1/29,2025=2/5,2024=2月中;2020疫情延至7月);笔试合格分数线(进面分档):4月上中旬(2026=4/9);报名人数/报录比:官方不发布汇总(仅第三方阶段统计,仅参考)。",
   "new_cycle_detect": "轮询 /nxdjgsgg/ 列表页，正则匹配标题\"宁夏回族自治区(\\d{4})年考试录用公务员公告\"取最大年份>2026即新周期；进入公告HTML页用正则提取 ./W020\\d+\\.xls 相对链接拼频道前缀得职位表直链；W020流水号随机不可算术递推，须解析真实附件；主窗口每年1-2月。",
   "latest_known_year": "2026",
   "source_official_confirmed": true
  },
  {
   "name": "新疆 (xinjiang)",
   "official_source_page": "https://rst.xinjiang.gov.cn/xjrst/c112678/zfxxgk_gknrz.shtml （新疆维吾尔自治区人力资源和社会保障厅「公务员招录」信息公开栏目页，由自治区公务员局发布，历年「面向社会公开考试录用公务员公告」均挂此栏目，覆盖2016-2026，是历年招录公告的持久入口列表，已WebFetch确认可达）。当年公告详情页示例(2026): https://rst.xinjiang.gov.cn/xjrst/c112487/202602/4e88e7fdf39f4faca7451ca207215388.shtml 。成绩/分数线查询官方入口: 新疆人事考试中",
   "table_url_pattern": "职位表附件位于当年公告详情页下的 files 子目录,规律: https://rst.xinjiang.gov.cn/xjrst/<频道ID,如c112487或c112746>/<YYYYMM,发布年月>/<32位hash>/files/附件1：新疆维吾尔自治区<年份>年度面向社会公开考试录用公务员职位表.<ext> 。已WebFetch确认2026文件URL可达(2.7MB): https://rst.xinjiang.gov.cn/xjrst/c112487/202602/4e88e7fdf39f4faca7451ca207215388/files/%E9%99%84%E4%BB%B61%EF%BC%9A%E6%96%B0%E7%96%86%E7%BB%B4%E5%90%BE%E5%B0%94%E8%87%AA%E6%B2%BB%E5%8C%BA2026%E5%B9%B4%E5%BA%",
   "format": "Excel。2023/2024/2025年度为 .xls(BIFF/OLE2);2026年度扩展名为 .xlsx 但内核实为 OLE2/xls(伪装xlsx),解析时优先用 xlrd/pandas 兼容OLE2方式打开,纯openpyxl可能报错,建议先嗅探文件魔数(OLE2: D0 CF 11 E",
   "parse_notes": "职位表为单sheet(无多sheet分册)。列映射要点(以已入库 xinjiang.csv 字段为准):机关名称→dept_name,机构层级/单位类别→bureau,职位名称/代码→position_name/position_code(新疆position_code为9位数字,如261611001=年份前缀26+...),招录人数→headcount,学历→education,学位→degree,专业(本科/研究生/专硕分号分隔的超长串)→major,政治面貌→political,工作地点/落户地→work_location,备注(含性别限制、专业代码细化、入围面试比例3:1/4:1/5:1、试卷类型、年龄、户籍、基层工作经历)→remarks,基层服务年限→service_year。无「专业代码」可靠性问题(新疆码可靠,不属于海南/黑龙江/吉林码不可靠那一类);但备注列把「招录机构层级/职位性质/年龄/户籍/基层工作经历/入围面试比例/试卷类型」用「 | 」拼接塞进同一单元格,解析时需按分隔符拆分。channel固定为「省考」,source_url记录当年公告附件xlsx绝对路径",
   "update_cadence": "职位表(随招录公告):每年1-2月发布(2025年度=2025-01-24,2026年度=2026-02-04),报名紧随其后(2026:2/6-2/11),笔试3月中旬(2026:3/14-15,即「3·15联考」)。补充录用公告:7月前后(如2025-07-11)。笔试合格分数线/成绩查询:笔试后约1个月,4月左右公布(2025年度分数线公告=2025-04前后,由自治区公务员局统一发布,新疆人事考试中心xjrsks.com.cn可查成绩)。报名/缴费人数:官方不公示。面试名单/资格复审名单:由各招录机关分散发布,以docx/xlsx附件随各自面试公告发出,无全区统一汇总表。",
   "new_cycle_detect": "编程检测优先级:(1)定期(1-2月起每周)WebFetch栏目入口页 https://rst.xinjiang.gov.cn/xjrst/c112678/zfxxgk_gknrz.shtml ,正则匹配标题含「<年份>年度面向社会公开考试录用公务员公告」(注意排除「公开遴选和公开选调」「补充录用」「定向选调」「事业单位」等同栏目干扰条目),取年份>latest_known_year者即为新一年;(2)备用:全站/搜索引擎搜「新疆维吾尔自治区 (当前年+1)年度 面向社会公开考试录用公务员公告」,定位 rst.xinjiang.gov.cn 详情页;(3)频道ID与hash均不可预测、且2024曾换域名,故【不要靠拼URL年份递增探测】,必须解析栏目页/搜索结果拿到真实详情页URL,再进页抓 files/ 下的「附件1...职位表」链接。比对策略:维护 latest_known_year=",
   "latest_known_year": "2026",
   "source_official_confirmed": true
  },
  {
   "name": "天津 (tianjin) 省考职位表",
   "official_source_page": "https://gklx.hrss.tj.gov.cn/ (天津市公务员考试录用服务平台 — 公告与职位表官方发布入口；上级门户:天津人事考试网 https://hrss.tj.gov.cn/jsdw/rsksw/ 。注:天津公务员录用工作主页面为公考平台,公告原文同时由各区政府.gov.cn站转发并附职位表xlsx,如东丽区 https://www.tjdl.gov.cn/gongkai/zfxxgkzl/gknr/zkly/202511/t20251105_7170442.html 、北辰区 https://www.tjbc.gov.cn/ztzl/gwyzk/202511/t202511",
   "table_url_pattern": "天津特殊:官方公告(gklx.hrss.tj.gov.cn / WeChat小程序\"天津公务员考试\")要求登录平台查询/下载职位表,平台本身不暴露稳定的静态文件URL。实际可直链抓取的职位表来自各区政府门户对公告原文的转发(.gov.cn,带xlsx附件),CMS附件命名为 W<日期+流水号>.xlsx。已入库2026源:https://www.tjdl.gov.cn/gongkai/zfxxgkzl/gknr/zkly/<YYYYMM>/W020<日期流水>.xlsx (实例 .../202511/W020251105318699722470.xlsx)。刷新次年文件:先在 gklx.hrss.tj.gov.cn 或 hrss.tj.gov.cn/jsdw/rsksw/tzgg4/ 找到\"天津市<年>年度考试录用公务员公告\",再到东丽区zkly栏目 https://www.tjdl.go",
   "format": "主格式 .xlsx(2026及近年);更早年份(2024/2025镜像)为 .xls。单sheet职位表。",
   "parse_notes": "官方职位表列含 职位代码/招录机关(主管部门+用人单位)/职位名称/职位简介/招考人数/学历/学位/专业/政治面貌/工作地点/咨询电话 及一组天津特有列(公共科目类型[综合市区/街镇/行政执法等]、职位性质[党群机关/参照管理单位等]、职位类别、职位层级、是否心理素质测评、工作经历/基层工作年限要求、资格证书)。入库时这些天津特有字段被压入 remarks 列以 \"键:值 | 键:值\" 形式保存(见样例:工作经历要求/公共科目类型/职位性质/职位类别/职位层级/心理素质测评/招考部门电话),核心列映射:position_code←职位代码、headcount←招考人数、education/degree/major、work_location←工作地点。天津职位代码为7位数字(如1130101),自2026表内部稳定可用作主键,不属于\"码不可靠\"省(海南/黑龙江/吉林那类问题);2023历史表职位名常与层级合并(如\"信息化建设/一级主任科员及以下\")。CSV列序:source_province,year,position_code,dept_name,bureau,position_na",
   "update_cadence": "职位表+招考公告:每年11月初发布(2026公告11月4日发,报名11月5-11日);笔试:12月上旬(2026为12月6-7日);笔试成绩+进面(资格复审)名单:次年1月底(2026为2026年1月29日可查成绩、资格复审1月30日-2月9日);报名人数/竞争比:报名期内(11月)平台实时公开各职位报考缴费人数,第三方逐日汇总;进面分数线:按职位层级分档(综合市区/热门110、街镇及行政执法105、定向项目/退役士兵/村社区100、残疾人95),随成绩公布同期(1月底)发布,逐职位最低进面分需登录 rsks/gklx.hrss.tj.gov.cn 平台查询,官方不集中发布每职位进面分Excel。",
   "new_cycle_detect": "编程检测新一年:(1)轮询 hrss.tj.gov.cn/jsdw/rsksw/tzgg4/ 与 gklx.hrss.tj.gov.cn 首页,正则匹配标题\"天津市(20\\d{2})年度考试录用公务员公告\",抽取年份与已知 latest_known_year(2026)比较,出现 >2026 即视为新周期;(2)每年10月下旬起加大轮询频率(11月初发布窗口);(3)兜底:扫描东丽区栏目 www.tjdl.gov.cn/gongkai/zfxxgkzl/gknr/zkly/ 新增 <YYYYMM> 目录下含\"录用公务员公告\"的 t<...>.html 并解析其内 W020*.xlsx 附件链接;(4)平台无静态文件时改用 WeChat小程序\"天津公务员考试\"或本地宝/上岸鸭镜像页年份比对作为发现信号(仅触发,不直接入库)。",
   "latest_known_year": "2026",
   "source_official_confirmed": true
  }
 ]
}