
韩国法院拍卖信息完整指南用 court-auction-notice-search 实战 courtauction.go.kr 查询【免费下载链接】k-skill한국인을 위한 스킬 모음집 - 에이전트를 한국인으로项目地址: https://gitcode.com/GitHub_Trending/ks/k-skill这篇文章拆解 k-skill 仓库里的court-auction-notice-search技能它把韩国大法院官方 법원경매정보 站点courtauction.go.kr的不动产拍卖公告매각공고与案件信息转成 Agent 可消费的结构化 JSON。在站点没有公开 Open API、且按 IP 激进拦截机器人的前提下告诉你韩国不动产拍卖公告查询、法院拍卖案件号查询这类无公开 API 站点的数据查询该怎么安全落地。明天首尔哪里拍先说清楚这个矛盾假设你问 Agent明天首尔哪里有不不动产拍卖最低价的物件列一下。这句话背后有两个不好搞的事实courtauction.go.kr 没有公开 Open API。页面上那个검색搜索按钮背后是韩国政务站常用的 WebSquare 框架在干活——说白了点按钮其实是在向后端 POST 一段结构化 JSON。这个技能干的事就是把这套内部 XHR 端点逆向成客户端直接发同样的请求。站点按 IP 拦截机器人拦得非常狠大约 30 秒内打 16 次你的 IP 就会被封 1 小时。所以这不是一个拿到 API key 就能调的常规数据源而是一个必须把慢当成设计目标来做的项目。k-skill 里的court-auction-notice-search就是为此而生的只读、慢速、结构化输出、边界清晰。一句话说清它能做什么、不能做什么一句话把法院拍卖站公开的公告和案件数据变成干净 JSON同时用保守的限流策略保住你的 IP 不被封。能做的v1 范围按日期 法院 投标区分查拍卖公告列表并展开公告里的案件/物件明细案件号、用途、地址、评估价、最低价按法院代码 案件号直查案件案件信息、物件内訳、各次拍卖日期的价格与结果、分配请求期限、相关案件、利害关系人自由条件检索物件区域、用途、价格区间、面积、流拍次数、拍卖日期静态/动态代码表60 法院事务所代码、投标区分기일입찰/기간입찰、用途与 시도 代码三层传输兜底直接 HTTP 为主浏览器仅作 WAF 场景的 fallback不要用来做的事明确边界动产汽车、工程机械拍卖——不在 v1 范围某拍卖日所有法院日程一次拉全——官方 follow-up 议题尚未支持拍卖物件照片 URL、物件明细书/现状调查书/评估书 PDF 下载——同样未支持投标书自动填写、自动提交——明确不支持。投标必须人在法院完成这是 read-only 的硬边界最快上手5 分钟跑通法院拍卖公告查询装好后npm install court-auction-notice-search最小可运行的 Node.js 示例长这样——查公告、展开第一条、打印关键价格const { searchSaleNotices, getSaleNoticeDetail } require(court-auction-notice-search); const notices await searchSaleNotices({ date: 2026-04-27, courtCode: B000210, // 首尔中央地方法院 bidType: date // 기일입찰期日投标 }); console.log(매각공고 ${notices.count}건); const detail await getSaleNoticeDetail(notices.items[0]); for (const it of detail.items) { console.log(it.caseNumber, it.usage, it.address); console.log( 评估 ${it.appraisedPrice} / 最低 ${it.minimumSalePrice}); }CLI 路径同样齐备二进制名与包同名。比如查公告列表court-auction-notice-search notices --date 2026-04 --court-code B000210 --pretty查案件court-auction-notice-search case --court-code B000210 --case-number 2024타경100001 --pretty。全局参数支持--json默认、--pretty、--include-rawfalse、--timeout-ms、--min-delay-ms、--max-calls见 src/cli.js。法院拍卖怎么查三种问法对应三种查法问某天某法院拍什么公告列表 → 详情展开典型问法今天/明天哪里有不动产拍卖서울중앙지방법원 2026-04-27 매각공고 보여줘。调用链是两步searchSaleNotices({ date, courtCode?, bidType? })拿卡片列表用户选中某条后把卡片对象或它的raw原样传给getSaleNoticeDetail(notice)。这里有个坑详情接口需要一个叫jdbnCd的字段——它是法院审判部的加密令牌外部无法凭空构造只能从列表响应里带回来复用。所以原样传卡片对象不是偷懒而是必需。详情响应的items[]会给出caseNumber、usage、address、appraisedPrice、minimumSalePrice、remarks六件套。常用输入参数一览定义与校验逻辑在 src/index.js参数说明约束/默认date拍卖日期必填接受YYYY-MM/YYYYMM月或YYYY-MM-DD/YYYYMMDD日。站点搜索按钮按月查询给日时先查整月再按日过滤courtCode法院事务所代码B000210首尔中央地方法院形式正则^B\d{6}$留空全部法院bidType投标区分date기일입찰代码000331/period기간입찰代码000332也接受韩文名或代码本身空两种都查caseNumber案件号推荐2024타경1000012024-100001、2024_100001等会自动规范化问某案件进展如何案件号直查典型问法사건번호 2024타경100001 진행 상황 알려줘。调用getCaseByCaseNumber({ courtCode, caseNumber })一次拿回caseInfo案件名·受理日·请求金额·审判部·进行状态、items[]拍卖目的物地址、分配请求期限、schedule[]每个拍卖日的最低价/评估价/结果、claimDeadline、relatedCases、stakeholders。两种结果分支要提前想好found:false / status:204表示案件不存在或未公开——正确动作是请用户核对案件号格式与法院而不是反复重试found:true则按上面的字段向用户叙述进展。规范化逻辑在 src/normalize.js 的normalizeCaseDetailResponse。问某类符合条件的房子自由条件检索典型问法서울 강남구 아파트 최저가 5억 이하 유찰 1회 이상 물건 찾아줘江南区公寓、最低价 5 亿以下、流拍 1 次以上。调用searchProperties()条件映射如下条件输入说明区域region: { sido, sigungu, dong }sido 可用代码11或韩文名서울특별시시군구/읍면동 只收 raw 代码如11680、11680101。给了区域走地番地址搜索cortStDvs:2不给则走公告模式cortStDvs:1用途usage: { large, medium, small }5 位代码건물20000或大分类韩文名토지/건물/차량및운송장비/기타最低价priceRange: { min, max }韩元允许小数评估价appraisedPriceRange: { min, max }韩元允许小数拍卖日期saleDate: { from, to }YYYY-MM-DD流拍次数flbdCount: { min, max }只允许整数面积area: { min, max }㎡允许小数分页page/pageSizepageSize 只认10/20/50/100默认 10。传1这类值会让线上端点直接 HTTP 400所以本地直接拒绝这里再解释两个词fail-open代码表不认识的输入不做猜测、按原值透传宁可查空也不静默改错你的请求和WAF 型 HTTP 400站点 WAF——Web 应用防火墙——拒绝请求返回的 400区别于普通业务错误。自由检索的完整请求体是照着真实浏览器提交捕获的 canonical body 构造的夹具见packages/court-auction-notice-search/test/fixtures/canonical-search-body.json。它实际 POST 的内部端点集中定义在 src/transport/http.js 的ENDPOINT_PATHS目的端点请求体核心键拍卖公告列表POST /pgj/pgj143/selectRletDspslPbanc.ondma_srchDspslPbanc.{srchYmd, cortOfcCd, bidDvsCd, srchBtnYn:Y}srchYmd按月拍卖公告详情POST /pgj/pgj143/selectRletDspslPbancDtl.ondma_srchGnrlPbanc.{cortOfcCd, dspslDxdyYmd, jdbnCd, ...}案件单条POST /pgj/pgj15A/selectAuctnCsSrchRslt.ondma_srchCsDtlInf.{cortOfcCd, csNo}物件自由检索POST /pgj/pgjsearch/searchControllerMain.ondma_pageInfodma_srchGdsDtlSrchInfocanonical body法院事务所代码POST /pgj/pgjComm/selectCortOfcCdLst.on{}为什么它跑得这么慢慢即是稳这个包的设计哲学就是慢即是稳。默认节流值写死在CourtAuctionHttpClient构造函数里src/transport/http.js调用间至少 2000ms 0~1000ms jitter。jitter抖动是随机追加的等待量让调用间隔不规则、不像机器节奏——对抗按固定频率识别机器人的检测。每会话预算 10 次调用。ensureBudget()在每次postJson前检查超限抛BUDGET_EXCEEDED。需要更多开新客户端或显式调大maxCallsPerSession。封禁即停只要响应里出现data.ipcheck false立刻抛BLOCKED并停止绝不自动重试——自动重试只会把封禁拖得更久。补充两条实战经验被封的 IP 约 1 小时后自然恢复等待期间可换网络或人工用浏览器走完解封画面同一个 Playwright 客户端连续调用在 10~15 次间隔调用内稳定更高的 burst 需求要加 3~5 秒 sleep 并换新客户端。 想更保守或更快时自己构造客户端注入即可const { CourtAuctionHttpClient, searchSaleNotices } 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 });CLI 里对应--min-delay-ms 3000、--max-calls 5。三层传输与浏览器兜底direct HTTP、runtime 浏览器、本地 Playwright正常路径完全不需要浏览器——公告、案件、物件三条查询走直接 HTTP先发一次 warmup GET 建立会话 Cookie这对应从 warmup 重新开始的排错提示再按端点带上X-Requested-With: XMLHttpRequest、韩语Accept-Language和按端点填充的Referer发 POST。浏览器只在searchProperties()的两种情形下激活源码在 src/index.js 的searchProperties直接 HTTP 撞出WAF 型 HTTP 400UPSTREAM_ERRORstatusCode 400遇到BLOCKED且调用方显式传了fallbackOnBlocked: true。传{ fallback: false }可以整体关掉自动兜底。兜底激活后的连接优先级Runtime 浏览器首选经k-skill-browser-runtime自动探测。macOS 依次试 Aside Browser REPL → BrowserOS GUI CDP → Chrome/Chromium CDP其他平台 BrowserOS 优先。可用provider/cdpUrl选项或KSKILL_BROWSER_PROVIDER、KSKILL_BROWSEROS_CDP_URL、KSKILL_ASIDE_COMMAND环境变量控制。本地 Playwright launch所有 runtime provider 都够不到时才chromium.launch({ headless })自己起一个。依赖rebrowser-playwright或playwright-core均为 optionalDependency未安装则兜底静默不可用。⚠️ 清理边界安全红线连上的 runtime 浏览器是用户自己的结束时只清理 adapter 建的 page/context/tab用runtime.disconnectBrowser断开自动化客户端绝不关闭用户的 BrowserOS/Aside/Chrome 配置本地 launch 的浏览器是包自己起的所以 page/context/browser 全部关闭。PLAYWRIGHT_UNAVAILABLE模块没装与UNKNOWN_PROVIDERprovider 名写错走fail-closed立即抛错UNAVAILABLE/探测失败则自动降级到本地 launch。全程不绕过登录、CAPTCHA、支付或电子签名。读懂返回结果核心字段、韩元展示与 raw 列名规范化所有响应都经过 src/normalize.js 洗一遍剥离 HTML 标签、把1,234,567这类字符串解析成数字、YYYYMMDD转YYYY-MM-DD、空值统一为null。价格是韩元整数。向用户展示时建议同时给韩式千位逗号格式 억/만 单位换算比如5,000,000,000원→ 50 亿韩元。公告卡片上的correctionCount/cancellationCount更正/撤回次数值得留意——它提示数据可能已变动。自由检索响应items[]把站点原始列名映射成英文键映射思路如下实现见normalizePropertySearchRowraw 列规范化键含义saNocaseNumber案件号srnSaNo/printCsNodisplayCaseNumber展示用案件号mokmulSer/maemulSeritemNumber物件序号hjguSido hjguSigu hjguDong daepyoLotno buldNmaddress地址多列拼接gamevalAmt/minmaePriceappraisedPrice/minimumSalePrice评估价 / 最低拍卖价yuchalCnt/mulStatcd/jinstatCdflbdCount/statusCode/progressStatusCode流拍次数 / 状态码boCd/jiwonNm/jpDeptNmcourtCode/courtName/judgeDeptName法院信息lclsUtilCd/mclsUtilCd/sclsUtilCdusageCodes.{large,medium,small}用途大中小分类xCordi/yCordi/wgs84Xcordi/Ycordicoordinates/coordinatesWgs84坐标两套坐标系pjbBuldList/mulBigopropertyDescription/remarks物件说明 / 备注同一字段还提供别名键如flbdCount与failedBidCount方便不同调用方按习惯取。原始响应始终可用raw字段拿到includeRaw: false可关闭。代码表方面getUsageCodes()静态返回 4 个大分类10000토지、20000건물、30000차량및운송장비、40000기타及部分代表中/小分类getRegionCodes()返回 19 个 시도。시군구/읍면동 因上游级联 XHR 不稳定而不进静态表直接传 raw 代码。未知值一律 fail-open 透传resolveUsageCode还有同名保护——resolveUsageCode(아파트, large)这种名字只存在于其他层级的情况不会错拿同名的 medium/small 代码而是原样透传。IP 被封了怎么办错误码自救手册error.code触发条件恢复动作BLOCKEDdata.ipcheck false立即停止、不自动重试等约 1 小时再试或换 IP/网络期间可人工用浏览器访问站点走完解封画面。把封禁事实与等待指引原样告知用户BUDGET_EXCEEDED会话调用预算超了这是有意的安全阀。确有必要时用--max-calls 20或调大maxCallsPerSession但必须同时提示封禁风险UPSTREAM_ERROR站点返回一般性错误最常见是会话过期或jdbnCd 错误从 warmup 重新开始。站点原文在error.upstreamMessageNETWORK_ERROR超时/连接失败检查网络与timeoutMs原始异常在error.causePLAYWRIGHT_UNAVAILABLE想用浏览器兜底但模块没装npm i rebrowser-playwright或npm i playwright-core错误对象的构造逻辑集中在 src/transport/http.js 的三个create*Error工厂BLOCKED携带upstreamUrl: courtauction.go.kr与upstreamPayloadUPSTREAM_ERROR从payload.errors.errorMessage提取上游消息。合规与诚实底线read-only 与投标前复核这个技能要求每次交互都向用户声明四件事这也是任何政府数据工具该有的底线数据是 법원경매정보 站点公开信息的原样转述实际投标前必须回法院原始公告复核站点对自动化极其敏感快速连续查询可能导致 IP 被封锁 1 小时价格评估价/最低拍卖价、拍卖日期、拍卖场所均以公告时点为准可能因更正、撤回、延期而变技能是read-only的绝不自动投标。k-skill 的通用安全红线见 SKILL.md 的 Hard rules同样适用未经用户明确即时批准不执行支付、消息/邮件投递、最终提交、取消、公开张贴不在聊天、文件或 shell 参数里明文存放凭据不绕过 CAPTCHA、身份核验、电子签名或法律边界——遇到这些环节做到最远的合法步骤再把下一步官方操作原样交给用户。任务结束的自检清单Done when也很明确已告知封禁风险与仅供参考·投标前核对原文公告已展开且caseNumber/usage/address/appraisedPrice/minimumSalePrice齐备found:false时给了用户可执行的后续动作封禁时没有自动重试任务后告知剩余调用预算。总结与仓库推荐阅读顺序court-auction-notice-search给出了一个可复用的范本在无公开 API 激进 IP 反爬 强合规要求三重约束下用直接 HTTP 为主通道降低浏览器依赖、分层 fallback保住 WAF 场景、限流/预算/封禁即停三件套保护调用方 IP、fail-open 代码表避免静默错误、read-only 诚实框架守住合规底线。这套保守设计 结构化输出 明确边界的组合值得在任何政务/金融数据查询项目里抄作业。建议按这个顺序读仓库快照指令文档 court-auction-notice-search.dolshoi.md技能指令 instruction.md包 READMEAPI 一览、端点表、兜底规则最完整门面实现 src/index.js参数校验与请求体构造传输层 src/transport/http.js 与src/transport/playwright.js规范化 src/normalize.js测试夹具packages/court-auction-notice-search/test/fixtures/notices-sample.json、case-found-sample.json、canonical-search-body.json等理解响应结构的最好材料包内自带验证命令在packages/court-auction-notice-search下npm run lint与npm run test即可。【免费下载链接】k-skill한국인을 위한 스킬 모음집 - 에이전트를 한국인으로项目地址: https://gitcode.com/GitHub_Trending/ks/k-skill创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考