十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

k-skill 实战:court-auction-notice-search — 韩国法院拍卖不动产公告检索只读客户端深入解析

k-skill 实战:court-auction-notice-search — 韩国法院拍卖不动产公告检索只读客户端深入解析 k-skill 实战court-auction-notice-search — 韩国法院拍卖不动产公告检索只读客户端深入解析【免费下载链接】k-skill한국인을 위한 스킬 모음집 - 에이전트를 한국인으로项目地址: https://gitcode.com/GitHub_Trending/ks/k-skill导读court-auction-notice-search是 k-skill 技能集中面向韩国不动产司法拍卖场景的只读客户端技能它将韩国法院官方运营的법원경매정보法院拍卖信息courtauction.go.kr上的 부동산 매각공고不动产拍卖公告与 사건정보案件信息转换为 Agent 可直接消费的 JSON 数据支持按 매각기일拍卖日期·법원法院·입찰구분投标区分浏览公告、展开公告下的 사건번호·용도·주소·감정평가액·최저매각가按 지역·용도·가격·면적·유찰횟수 等自由条件检索物业以及凭 법원사건번호 直接查询单个案件。读完本文你将掌握该技能的完整配置、四大工作流、反爬限流策略、Node.js/CLI 两种调用方式以及完整的错误处理模型并理解其源码级的底层实现原理。一、技能定位没有官方 API 的合规只读客户端法院拍卖信息网courtauction.go.kr由韩国法院运营但不提供官方 OPEN API。因此该技能的做法是直接调用站点内部的 WebSquare JSON XHR endpoint把页面数据以 JSON 形式返回给 Agent。该技能的三个关键设计原则摘自 SKILL.md 与 instruction.md优先直接 HTTP매각공고/사건/물건 조회公告/案件/物业查询的正常路径不依赖真实浏览器直接发送 HTTP 请求即可。浏览器仅在 Workflow C 自由检索遭遇 WAF 型 HTTP 400 时才作为 fallback 使用。保守防封站点对IP 维度机器人封锁非常激进约 16 次/30 秒的访问就会触发约 1 小时封锁。客户端通过调用间至少 2 秒 jitter、每会话调用 budget默认 10 次、发现data.ipcheck false立即抛错三重机制规避风险。严格只读不自动写投标书、不自动提交投标投标必须由人在法院完成数据仅作参考实际投标前必须回法院官网核对原公告。应用场景When to useinstruction.md 给出了典型的自然语言触发场景오늘/내일 어디서 부동산 경매 열려?今天/明天哪里有不地产拍卖서울중앙지방법원 2026-04-27 매각공고 보여줘查某法院某日公告기일입찰 vs 기간입찰만 나눠서 보여줘区分日投标/期间投标이 매각공고 안의 사건번호/용도/주소/감정평가액 다 보여줘展开公告详情사건번호 2024타경100001 진행 상황 알려줘按案件号查进度서울 강남구 아파트 최저가 5억 이하 유찰 1회 이상 물건 찾아줘自由条件检索법원사무소 코드 표 줘法院事务所代码表不做的事When not to usev1 边界动產汽车·重型机械拍卖——超出 v1 范围一次性查询某日期所有法院日程——属于后续的 Workflow D 议题拍卖物业照片전경/개황/내부URL 暴露——后续议题매각물건명세서拍卖物件明细书/현황조사서现状调查报告/감정평가서评估书PDF 下载——后续议题投标书自动填写与自动提交——明确不支持投标必须由人在法院完成。二、输入参数与强制性诚信说明核心输入参数参数说明date매각기일拍卖日期月YYYY-MM或YYYYMM或特定日YYYY-MM-DD或YYYYMMDD。必填。站点搜索按钮实际按月份YYYYMM查询因此传入特定日时客户端先查整月再按该日过滤courtCode법원사무소코드法院事务所代码如B000210 서울중앙지방법원首尔中央地方法院。留空表示全部。可通过getCourtCodes()或codes courts获取bidTypedate 기일입찰 日投标code000331或period 기간입찰 期间投标code000332。空值表示两者都要caseNumber사건번호案件号推荐2024타경100001格式也接受2024-100001会自动归一化为2024타경100001从源码 index.js 可见这些输入都有严格校验toNoticeSearchDateYYYYMM6 位走整月查询YYYYMMDD8 位走整月查询 当日过滤searchDate.exactYmd非空时对返回行按dspslDxdyYmd过滤ensureCourtCode要求形如B\d{6}否则抛错normalizeCaseNumber接受2024타경\d原样或2024-100001/2024_100001/2024 100001等连字符/下划线/空格分隔格式并归一化为2024타경...。强制诚信告知Mandatory honest framing技能必须始终向用户声明以下四点这也是 Agent 完成Done when条件的前置义务数据为法院拍卖信息网站公开信息的转写实际投标前必须回法院原文核对站点对自动化调用非常敏感快速连续查询可能导致 IP 被封锁约 1 小时价格감정평가액 评估价·최저매각가격 最低拍卖价、拍卖日期、拍卖场所均以公告发布时点为准可能因更正correctionCount、取消cancellationCount或延期而变化本技能read-only不对投标做任何自动化。三、官方入口与直接调用的 Endpoint官方页面入口法院拍卖信息主站https://www.courtauction.go.kr부동산매각공고不动产拍卖公告入口https://www.courtauction.go.kr/pgj/index.on?w2xPath/pgj/ui/pgj100/PGJ143M01.xmlpgjId143M01경매사건검색拍卖案件检索入口https://www.courtauction.go.kr/pgj/index.on?w2xPath/pgj/ui/pgj100/PGJ159M00.xmlpgjId159M00本技能直接调用的 5 个内部 Endpoint用途Method Path매각공고 목록公告列表POST /pgj/pgj143/selectRletDspslPbanc.on매각공고 상세公告详情展开案件/物件POST /pgj/pgj143/selectRletDspslPbancDtl.on사건 단건 조회单案件查询POST /pgj/pgj15A/selectAuctnCsSrchRslt.on물건 자유 조건검색物业自由条件检索POST /pgj/pgjsearch/searchControllerMain.onPGJ151F00 → PGJ151M01법원사무소코드 전체法院代码全表POST /pgj/pgjComm/selectCortOfcCdLst.on这些路径在源码 transport/http.js 中被集中定义为ENDPOINT_PATHS并且每个 endpoint 都配有对应的ENDPOINT_REFERER_HINTReferer 提示与ENDPOINT_WARMUP_PATH预热路径。HTTP 传输层要点源码级CourtAuctionHttpClient见 http.js实现warmup 预热每次postJson前先 GET 对应的页面路径通过Set-Cookie维护cookieJar一个Map再携带 Cookie 发起 POSTbudget 与节流ensureBudget()在callsSoFar maxCallsPerSession默认 10时抛BUDGET_EXCEEDED否则按jitter(minDelayMs2000, jitterMs1000)计算等待时间——即默认调用间隔至少 2 秒 0~1 秒随机抖动超时每请求 15 秒超时AbortController封锁检测响应 JSON 若含data.ipcheck false立即抛BLOCKED错误并停止——不做自动重试以免延长封锁。请求头模拟真实浏览器User-Agent、Accept-Language: ko-KR、Origin、Referer、X-Requested-With: XMLHttpRequestWorkflow C 的检索请求还会附加submissionid头。四、三大工作流详解Workflow A — 매각공고 → 사건/물건 펼치기公告 → 展开案件/物件向用户收集매각기일YYYY-MM-DD以及可选法院与投标区分调用searchSaleNotices({ date, courtCode, bidType })→ 得到该日/该法院的公告卡片列表用户选中卡片后把卡片对象或raw原样传给getSaleNoticeDetail(notice)返回的items[]含caseNumber、usage用途、address地址、appraisedPrice评估价、minimumSalePrice最低价、remarks备注——完整覆盖需求声明的四个核心字段价格为韩元整数展示给用户时需同时给出千分位逗号 억/만 单位换算。源码中的归一化逻辑normalize.js显示公告详情的每一行会从原始列csNo、usgNm、st、aeeEvlAmt、lwsDspslPrc、dspslRmk抽取并做HTML 标签剥离stripHtml与金额解析parseAmount处理1,234,567,890及-空值。公告列表行还会提供noticeId、courtName、judgeDeptName/Phone、saleDate、bidStartDate/bidEndDate、saleTimes最多 4 次开庭时间、correctionCount、cancellationCount等元数据。Workflow B — 사건번호 직접 조회按案件号直接查询向用户收集법원사무소코드 사건번호2024타경100001调用getCaseByCaseNumber({ courtCode, caseNumber })若返回found:false / status:204说明案件不存在或未公开应提示用户核对案件号格式与法院是否匹配若found:true响应包含caseInfo사건명案件名·접수일受理日·청구액请求金额·재판부裁判部·진행상태进展状态等items[]매각목적물拍卖标的物地址/배당요구종기 分配请求截止日schedule[]매각기일별 최저가/감정가/결과每次拍卖日期对应的最低价/评估价/结果claimDeadline分配请求截止、relatedCases关联案件、stakeholders利害关系人。normalizeCaseDetailResponsenormalize.js将案件基础信息拆为约 20 个字段法院/案件/金额/上诉标志/停止状态/最终处置/裁判官/执行处电话等并将 상소·재항고上诉/再上诉、利害关系人채권자·채무자·소유자 等 kind/name分别归一化。Workflow C — 부동산 물건 자유 조건검색物业自由条件检索这是功能最丰富的检索searchProperties()的输入映射如下参数说明region: { sido, sigungu, dong }用代码或静态 sido 代码表中的韩文名。给区域则走 지번주소地番地址检索cortStDvs:2不给区域则走 매각공고 模式cortStDvs:1。시군구/읍면동 无静态表需直接传代码如{ sido:11, sigungu:11680, dong:11680101 }usage: { large, medium, small }用途大/中/小分类代码5 位如 건물20000或大分类韩文名토지/건물/차량및운송장비/기타priceRange최저매각가격最低拍卖价韩元{ min, max }允许浮点appraisedPriceRange감정평가액评估价韩元{ min, max }允许浮点saleDate{ from, to }拍卖日期区间flbdCount유찰횟수流标次数{ min, max }仅整数area면적面积㎡{ min, max }允许浮点pageSize每页结果数只能是 upstream PGJ151 下拉菜单中确认的10/20/50/100之一默认 10。任意值如1会被 live endpoint 以 HTTP 400 拒绝因此客户端在本地直接拒绝检索步骤调用searchProperties({ ... })→POST /pgj/pgjsearch/searchControllerMain.on1 次直接 HTTP 尝试若遇到 WAF 型 HTTP 400自动切换到 Playwright fallback 重试可用{ fallback: false }关闭 fallback。BLOCKEDipcheckfalse是站点显式封锁信号默认立即停止仅当用户理解风险并显式传{ fallbackOnBlocked: true }才重试响应的items[]将核心原始列归一化为英文键完整映射见 normalize.js 的normalizePropertySearchRow原始列归一化字段saNocaseNumbersrnSaNo/printCsNo→displayCaseNumbermokmulSer/maemulSeritemNumberhjguSido hjguSigu hjguDong daepyoLotno buldNmaddressgamevalAmt/minmaePriceappraisedPrice/minimumSalePriceyuchalCnt/mulStatcd/jinstatCdflbdCount/statusCode/progressStatusCodeboCd/jiwonNm/jpDeptNmcourtCode/courtName/judgeDeptNamelclsUtilCd/mclsUtilCd/sclsUtilCdusageCodes.{large,medium,small}srchHjguSidoCd/SiguCd/DongCdregionCodes.{sido,sigungu,dong}xCordi/yCordiwgs84Xcordi/Ycordicoordinates/coordinatesWgs84buldList/areaList/jimokListbuildingList/areaList/landCategoryListpjbBuldList/mulBigopropertyDescription/remarks静态代码表getUsageCodes()返回 4 个大分类10000토지土地、20000건물建筑、30000차량및운송장비车辆及运输设备、40000기타其他及部分代表性中/小分类getRegionCodes()返回 19 个 시도市道 代码。시군구/읍면동 因 upstream 级联 XHR 不稳定而未收入静态表直接传 raw 代码即可。未知值一律fail-open原样透传。同名用途代码保护如resolveUsageCode(아파트, large)这类输入名称只存在于其他层级的情况不会错误返回同名 medium/small 代码而是 fail-open 原样透传避免静默污染请求。五、限流与调用预算规则这是本技能slow-by-design刻意缓慢策略的核心同样对调用方是硬约束调用间隔最少 2 秒默认想更慢可用--min-delay-ms 3000每个会话默认10 次调用预算需要更多可新开会话new CourtAuctionHttpClient或显式调大maxCallsPerSession遇到封锁data.ipcheck false立即抛BLOCKED并停止不自动重试防止延长封锁被封锁的 IP约 1 小时后自动恢复期间可换 IP/网络或由人用浏览器访问站点完成解封流程Workflow C 自由检索的 WAF 对 raw HTTP 更严格searchProperties()仅在 1 次直接 HTTP 遇 WAF 型 HTTP 400 时才重试到 Playwright fallback显式封锁默认停止只有显式fallbackOnBlocked:true才重试。未安装 Playwright fallback 模块rebrowser-playwright或playwright-core时首次 HTTP 400 会直接抛出同一 Playwright 客户端连续调用时10~15 次间隔调用是稳定的需要更大规模 burst 时应在调用间插入 3~5 秒 sleep 并打开新客户端。默认节流参数来自 README.md调用间隔 ≥2000ms 0~1000ms jitter、会话 10 次预算、超时 15s。可通过CourtAuctionHttpClient构造参数全部覆盖const { CourtAuctionHttpClient } require(court-auction-notice-search); const client new CourtAuctionHttpClient({ minDelayMs: 3000, // 更慢 jitterMs: 2000, maxCallsPerSession: 5, // 更保守 timeoutMs: 30_000 }); const notices await searchSaleNotices({ date: 2026-04-27, client });六、Node.js 示例完整可运行以下代码摘自 instruction.md 的 Node.js 示例完整展示了取法院代码 → 查公告 → 展开详情 → 按案件号查询全流程并演示BLOCKED错误处理const { searchSaleNotices, getSaleNoticeDetail, getCaseByCaseNumber, getCourtCodes } require(court-auction-notice-search); async function main() { const courts await getCourtCodes(); console.log(법원사무소 ${courts.count}개 로드됨); const notices await searchSaleNotices({ date: 2026-04-27, courtCode: B000210, bidType: date }); console.log(서울중앙지방법원 매각공고 ${notices.count}건); if (notices.items.length 0) { const detail await getSaleNoticeDetail(notices.items[0]); for (const item of detail.items) { console.log( ${item.caseNumber} (${item.usage}) — 감정 ${item.appraisedPrice}원 / 최저 ${item.minimumSalePrice}원 ); console.log( 주소: ${item.address}); } } const caseInfo await getCaseByCaseNumber({ courtCode: B000210, caseNumber: 2024타경100001 }); if (caseInfo.found) { console.log(사건명: ${caseInfo.caseInfo.caseName}); console.log(매각기일 횟수: ${caseInfo.schedule.length}); } } main().catch((error) { if (error.code BLOCKED) { console.error([BLOCKED] 사이트가 1시간 차단했습니다. 다른 IP에서 다시 시도하거나 1시간 뒤 재시도하세요.); } else { console.error(error); } process.exitCode 1; });需要注意getSaleNoticeDetail的入参可以直接使用searchSaleNotices返回的items[i]对象pickNoticeKeys会自动从raw提取courtCode、saleDate、jdbnCd等密钥也可以手动传入{ courtCode, saleDate, judgeDeptCode, bidStartDate?, bidEndDate?, ... }形式的键值。七、CLI 示例完整可运行技能配套的 CLI 二进制与 npm 包同名-h可查看全部用法见 cli.js。核心命令如下# 1. 法院事务所代码表60 个法院 court-auction-notice-search codes courts --pretty | head -40 # 2. 投标区分 / 用途 / 地区静态代码表 court-auction-notice-search codes bid-types --pretty court-auction-notice-search codes usages --pretty court-auction-notice-search codes regions --pretty # 3. 公告列表 court-auction-notice-search notices --date 2026-04 --court-code B000210 --bid-type date --pretty # 4. 公告详情——把 list 响应中某行的 raw 字段直接用于 detail 调用 # CLI 单次调用中可用 jq 等工具把 list → detail 结果串联 # 5. 按案件号直接查询 court-auction-notice-search case --court-code B000210 --case-number 2024타경100001 --pretty # 6. 自由条件检索 court-auction-notice-search search --sido 서울특별시 --sigungu 11680 --usage-large 건물 --usage-medium 21200 \ --price-min 100000000 --price-max 500000000 --sale-from 2026-05-01 --sale-to 2026-05-20 --prettyCLI 全局参数cli.js提供以下全局 flag--json默认 JSON 输出、--pretty美化输出、--include-rawfalse剥离 raw 透传字段、--timeout-ms ms默认 15000、--min-delay-ms ms默认 2000、--max-calls N会话调用预算默认 10、-h/--help。search子命令还支持--region 시도[:시군구raw[:읍면동raw]]、--usage 대[:중[:소]]冒号三段式简写以及--sido/--sigungu/--dong、--usage-large/--usage-medium/--usage-small、--price-min/--price-max、--appraised-min/--appraised-max、--sale-from/--sale-to、--flbd-min/--flbd-max、--area-min/--area-max、--court-code、--bid-type、--page、--page-size 10|20|50|100。八、封锁与错误处理模型五种错误码构成了完整的可编程错误契约源码实现见 http.js 的createBlockedError/createUpstreamError/createNetworkError错误码触发条件处理建议BLOCKEDdata.ipcheck false站点显式封锁等约 1 小时后换 IP 重试把封锁事实与等待提示如实转告用户不自动重试BUDGET_EXCEEDED会话调用预算默认 10 次耗尽这是有意的安全阀。确有必要可--max-calls 20调大但需同时告知封锁风险UPSTREAM_ERROR站点返回一般性错误最常见原因是会话过期或错误的jdbnCd需从 warmup 重新开始NETWORK_ERROR超时/连接失败检查网络error.cause携带原始错误PLAYWRIGHT_UNAVAILABLE想显式使用 Playwright fallback 但未安装模块执行npm i rebrowser-playwright或npm i playwright-core浏览器 fallback 的三级结构Workflow CsearchProperties默认 1 次直接 HTTP仅在两种情况触发浏览器 fallbackWAF 型 HTTP 400UPSTREAM_ERRORstatusCode 400BLOCKED响应且显式传入fallbackOnBlocked:true。fallback 的浏览器来源按优先级README.md 的 Browser fallback tiersRuntime browser首选——通过k-skill-browser-runtime自动探测macOS 上按 Aside Browser REPL → BrowserOS GUI CDP → Chrome/Chromium CDP 的顺序尝试其他平台 BrowserOS 优先可用providerbrowseros/aside/chrome-cdp、cdpUrl选项或KSKILL_BROWSER_PROVIDER/KSKILL_BROWSEROS_CDP_URL/KSKILL_ASIDE_COMMAND环境变量控制本地 Playwright launch fallback——runtime provider 全部不可达UNAVAILABLE/probe 失败时用chromium.launch({ headless })本地启动需要rebrowser-playwright或playwright-core。安全性约定连接 runtime 浏览器时不关闭 BrowserOS/Aside/Chrome 的 profile只清理 adapter 创建的 page/context/tab并断开 automation client本地 launch 的浏览器则由包自己负责全部关闭。PLAYWRIGHT_UNAVAILABLE模块缺失与UNKNOWN_PROVIDER非法 provider按fail-closed立即抛错UNAVAILABLE/probe 失败则自动降级到本地 launch。绝不绕过登录、CAPTCHA、支付、电子签名或不可逆操作。九、测试与验证仓库为每个功能模块都提供了测试与固定样本数据单元测试packages/court-auction-notice-search/test/index.test.js、normalize.test.js、transport.test.js、cli.test.js固定样本test/fixtures/下有notices-sample.json、notice-detail-sample.json、case-found-sample.json、case-not-found.json、properties-sample.json、blocked.json、canonical-search-body.jsonWorkflow C 请求体的标准形态2026-05-08 通过scripts/capture-pgj151-submit.cjs从真实浏览器提交捕获、courts-sample.json、sido-codes-raw.json等运行方式npm run lint、npm run test。另外本技能也可通过 k-skill CLI 快速获取最新说明与配套文件npx -y nomadamas/k-skill0 instruct court-auction-notice-search获取运行时对应的完整指令与npx -y nomadamas/k-skill0 files court-auction-notice-search列出 CLI 附带的辅助文件。十、结语用好这把慢而稳的只读钥匙court-auction-notice-search的技术价值不在于爬得多快而在于在无官方 API、高封锁风险的前提下用可预测的限流、明确的错误契约与克制的 fallback 策略把官方公开的拍卖公告/案件数据转成结构化 JSON。对 Agent 而言正确使用方式始终是慢速调用、尊重 budget、如实告知封锁风险、并在投标前引导用户回到法院官网核对原文。这也是 k-skill 在가장 가까운 합법적 공식 단계尽可能接近合法官方步骤原则下的典型实践。安装方式npm install court-auction-notice-search如需 Playwright fallback另行npm install rebrowser-playwright或npm install playwright-corek-skill-browser-runtime作为常规依赖自动安装提供 BrowserOS/Aside/Chrome runtime fallback 路径。许可证 MIT仅只读客户端请遵守站点运营政策。【免费下载链接】k-skill한국인을 위한 스킬 모음집 - 에이전트를 한국인으로项目地址: https://gitcode.com/GitHub_Trending/ks/k-skill创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表