# 釋字及憲法法庭資料庫 網站設計說明 本文說明離線網頁版的資料從哪裡來、每個欄位怎麼產生、哪些可以引用、以及怎麼用。 資料建置日期 2026-07-27,收錄止於 115年憲判字第5號。 --- ## 一、這個網站是什麼 一個單一 HTML 檔案的離線資料庫。所有資料以 JSON 內嵌在檔案裡,沒有伺服器、沒有外部 相依、沒有網路請求。雙擊即開,可以複製到隨身碟或另一台電腦照樣運作。 兩個版本: | 檔案 | 大小 | 意見書 | 用途 | |---|---|---|---| | `釋字及憲法法庭資料庫_輕量版.html` | 約 16 MB | 只列標題與官網連結 | 日常查用,載入約 3 秒 | | `釋字及憲法法庭資料庫.html` | 約 68 MB | 內嵌 1,679 篇全文且可全文檢索 | 要搜意見書內文時才用 | 除了意見書全文之外,兩版內容完全相同,同一份程式產生。 --- ## 二、資料從哪裡來 **唯一來源**:司法院憲法法庭網站 `cons.judicial.gov.tw`。沒有使用任何第三方資料庫、 沒有使用模型記憶中的法律知識來填補內容。 抓取方式是逐則請求官網頁面,取出頁面中 `id="Print_area"` 這個節點(官網「列印版」的 內容區),原封不動存成 HTML 快照放在 `90_原始存檔/`,再從快照解析出結構化欄位。 意見書則另外下載官網提供的 PDF 原檔,存在 `90_原始存檔/意見書PDF/`。 **網址規則** | 類型 | 網址 | |---|---| | 釋字第 N 號 | `docdata.aspx?fid=100&id=` + (310181 + N) | | 釋字第 813 號 | `docdata.aspx?fid=100&id=325335`(**不適用上列規則**) | | 憲判字 | `docdata.aspx?fid=38&id=<各案 id>`,id 非連號,由官網判決列表取得 | 釋字第813號是建置過程中實測發現的例外。依規則推算的位址是一個沒有內容的空頁, 真實 id 由釋字第812號頁面的「下一筆」連結追出。 **完整性驗證** 官網每則解釋頁面右上角自己標示「第 N 筆/共 813 筆」。建置時逐則比對三個數字是否一致: 我方指派的編號、官網標示的筆序、頁面內「解釋字號」欄位的號次。813 筆全數相符,零不符。 這道驗證的意義在於,如果某一則抓錯位址而拿到別則的內容,光看檔案數量是看不出來的, 但筆序與字號會立刻對不上。 --- ## 三、一筆記錄的資料模型 每則解釋或判決在 `_pipeline/資料庫.json` 中是一個物件,網頁與 Markdown 筆記都由它產生。 ```json { "k": "釋字0742", "ty": "釋字", "z": "釋字第742號", "n": "都市計畫定期通盤檢討變更之救濟案", "dt": "2016-12-09", "roc":"105年12月09日", "decree":"院台大二字第1050031469號", "m": [["原分案號","…"],["聲請人","…"]], "q": "都市計畫定期通盤檢討變更,如其中具體項目…", "s": [["解釋文",[["1","  都市計畫擬定計畫機關…"]]], ["理由書",[["1","  當事人對於確定終局裁判…"]]]], "o": [{"t":"許大法官宗力提出之協同意見書","h":"https://…","id":"354653","x":"(全文)", "ty":"協同意見書","p":["許宗力"],"a":[], "ai":{"one":"立場","main":"核心主張","diff":"與多數意見的差異"}}], "l": ["中華民國憲法第15、16條","都市計畫法第26條","司法院釋字第156號解釋"], "u": "https://cons.judicial.gov.tw/docdata.aspx?fid=100&id=310923", "at": "2026-07-27T14:52:31+0800", "ai": {"one":"…","issue":"…","holding":"…","place":"…"}, "j": {"w":["主筆"],"p":["提出意見書者"],"a":["加入者"],"t":["協同意見書"]} } ``` --- ## 四、逐欄位來源說明 下表的「可否引用」是本庫最重要的欄位。**原文**表示逐字取自官網,可直接引用; **推導**表示由官網資料機械轉換而來,可用於檢索與整理,引用時仍應回到原文; **AI**表示由模型撰寫,任何情況下都不得引用。 | 網頁上的位置 | 內部欄位 | 官網來源 | 處理方式 | 可否引用 | |---|---|---|---|---| | 標題(大字) | `z` + `n` | 「解釋字號」或「判決字號」欄 | 以正則切出號次與【】內案名 | 原文 | | 出處列「公布」 | `roc` | 「解釋公布院令」或「判決日期」欄 | 原字串保留 | 原文 | | 出處列日期(清單上的) | `dt` | 同上 | 民國年加 1911 轉西元,供排序與年代篩選 | 推導 | | 出處列末段 | `decree` | 「解釋公布院令」欄 | 取日期之後的剩餘文字(院令字號) | 原文 | | 出處列「官網原文」連結 | `u` | 抓取時使用的網址 | 原樣記錄 | 推導 | | 出處列「抓取於」 | `at` | 抓取當下時間 | ISO 8601 時間戳 | 推導 | | 第二列(憲判才有) | `m` | 「原分案號」「聲請人」欄 | 原文照錄 | 原文 | | 解釋爭點/案由 | `q` | `#section1` 或「案由」欄 | 原文照錄,空白正規化 | 原文 | | 解釋文/主文/理由書/理由等 | `s` | 各 `ul.flex` 區塊的 `li.text` | 見下節 | 原文 | | 段前的小號碼 | `s[][][0]` | 官網 `