尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
court-auction-notice-search 完整解析:3 层防护下的法院拍卖公告结构化查询客户端
court-auction-notice-search 完整解析3 层防护下的法院拍卖公告结构化查询客户端【免费下载链接】k-skill한국인을 위한 스킬 모음집 - 에이전트를 한국인으로项目地址: https://gitcode.com/GitHub_Trending/ks/k-skill大法院运营的拍卖门户 courtauction.go.kr 没有任何公开 Open APIIP 级机器人拦截又凶得很。k-skill 仓库里的court-auction-notice-search直接复用该站内部的 WebSquare JSON XHR 接口把 매각공고不动产拍卖公告与案件数据转换成 Agent 可直接消费的 JSON设计哲学一句话慢即是稳。一个没有 API 的政府站逼出了什么方案你面对的目标是这样的想查某天某个法院有哪些拍卖官网上只有搜索表单表单背后是 WebSquare 前端框架发出的 JSON POST 请求没有文档、没有 SDK、没有公开端点列表。换句话说唯一的数据获取方式就是精确模仿浏览器里那个搜索按钮的行为——包括请求体结构、Referer、会话 Cookie。第二个约束更硬站点按 IP 做激进拦截实测大约 30 秒内 16 次请求就会触发约 1 小时的封禁。一个常规的并发抓全量脚本在这里活不过半分钟。第三个约束是合规拍卖数据用于参考真正的投标必须由人在法院完成。这个包因此被明确定位为 read-only 客户端——它只读不写不提交不填表。这三条约束无 API、强反爬、合规红线直接决定了后面所有设计决策的走向。架构解析为什么主通道是裸 HTTP浏览器只是备胎 整体数据流只有一条主线你的调用 → index.js 的参数归一化 → http.js 的CourtAuctionHttpClient.postJson→ 站点内部 5 个 endpoint → normalize.js 的字段翻译 → 结构化 JSON 返回。决策一默认传输用直接 HTTP不碰浏览器。公告列表、公告详情、案件直查三条主路径在真实浏览器里验证过裸 HTTP 完全走得通。省掉浏览器意味着省掉登录态依赖、省掉启动开销、省掉被封后需要人肉接管的复杂局面。落到代码上http.js里ENDPOINT_PATHS集中了全部 5 个 POST 路径每个请求都带X-Requested-With: XMLHttpRequest、韩语Accept-Language和按 endpoint 分配的Referer发送前先对对应入口页做一次 warmup GET 来拿到会话 Cookie。决策二浏览器只给自由检索兜底。Workflow C物件自由条件检索走的 endpoint 被站点 WAF 盯得更紧裸 HTTP 有时会收到 WAF 型 400。playwright.js 的CourtAuctionPlaywrightClient就为此而生优先级是用户已打开的 Runtime 浏览器Aside → BrowserOS → Chrome CDP→ 全部够不到才chromium.launch本地启动。注意顺序的意义优先复用用户自己的浏览器是因为那台浏览器的指纹与会话更接近真人被拦概率最低。决策三2 秒最小间隔 1 秒 jitter。对照30 秒 16 次就封的实测红线默认minDelayMs: 2000、jitterMs: 1000意味着相邻两次调用间隔 2000~2999ms 不等随机增量把固定节奏的机器味打散。决策四每会话 10 次调用预算。ensureBudget在每次postJson前检查计数超了直接抛BUDGET_EXCEEDED。这不是 bug 是保险丝它保证即使你的循环写错了一个客户端也烧不出 16 次/30 秒的量。按日期查拍卖公告公告列表与案件展开回答今天/明天哪里有不动产拍卖这类问题用searchSaleNotices。参数必填取值说明date是YYYY-MM/YYYYMM/YYYY-MM-DD/YYYYMMDD站点的搜索按钮只按月发请求给特定日期时先查整月再在本地按日过滤见 index.js 的toNoticeSearchDatecourtCode否如B000210首尔中央地方法院空字符串 全部法院bidType否date/period/기일입찰/기간입찰/000331/000332别名、中文名、代码都收空 两种都查返回items[]里每条公告都带caseNumber无关字段——重点是有judgeDeptCode即jdbnCd法院返回的加密令牌、saleDate、saleTimes、correctionCount、cancellationCount以及原样透传的raw。const { searchSaleNotices, getSaleNoticeDetail } require(court-auction-notice-search); async function run() { const ann await searchSaleNotices({ date: 2026-04-27, courtCode: B000210, bidType: date }); // 逐条展开公告取出案件号/用途/地址/评估价/最低价 const view await getSaleNoticeDetail(ann.items[0]); // 错误处理catch BLOCKED 后停止 for (const row of view.items) { console.log(row.caseNumber, row.address, row.appraisedPrice, row.minimumSalePrice); } }展开公告时最容易踩的点是getSaleNoticeDetail需要jdbnCd而这个令牌只存在于列表响应的raw里外部无法凭空构造。所以最简单的姿势就是把列表返回的items[i]整个对象原样塞回去构造逻辑会自动从raw里抽取cortOfcCd、dspslDxdyYmd、jdbnCd、bidDvsCd。案件号直查三步拿到完整进展回答2024타경100001 这个案子走到哪一步了用getCaseByCaseNumber只需两个入参参数必填说明courtCode是^B\d{6}$强校验格式不对直接本地报错caseNumber是推荐2024타경1000012024-100001、2024_100001会被normalizeCaseNumber自动补成标准形态found: true时返回一份很完整的档案caseInfo案件名、受理日、请求金额、裁判部、进行状态、items[]拍卖目的物地址与分配请求终期、schedule[]每个拍卖日的最低价/评估价/结果、claimDeadline、relatedCases、appeals、stakeholders。这些子表在 normalize.js 的normalizeCaseDetailResponse里逐一展开足以支撑上次拍卖流拍了吗上诉结果如何这类追问。found: false / status: 204时别当成故障——案件不存在或非公开应当让用户核对案件号和法院是否匹配。自由条件筛物件区域、用途、价格、流拍次数回答江南区 5 亿以下、流拍 1 次以上的公寓用searchProperties。参数必填约束region: {sido, sigungu, dong}否sido 可传代码或韩语名시군구/읍면동 无静态表直接传 raw 代码如11680usage: {large, medium, small}否5 位代码건물20000或大分类韩语名priceRange/appraisedPriceRange否韩元{min, max}允许小数saleDate否{from, to}flbdCount否{min, max}仅整数area否㎡{min, max}pageSize否只能10/20/50/100默认 10其他值上游会回 400本地直接拒绝一个隐含行为传了region就走 지번주소 检索请求体里cortStDvs:2不传则切公告模式cortStDvs:1切换逻辑在 index.js 的buildPropertySearchBody里。返回items[]的 raw 列做了英文键翻译常用的几组saNo→caseNumber、gamevalAmt/minmaePrice→appraisedPrice/minimumSalePrice、yuchalCnt→flbdCount、boCd/jiwonNm→courtCode/courtName。代码表方面有两个值得学的取舍。其一getUsageCodes()只固化了 4 个大分类和部分中/小分类getRegionCodes()只固化 19 个 시도——시군구级联 XHR 不稳定索性不做静态表未知值一律 fail-open 透传让错误在源头可见而不是被静默改写成看起来对的代码。其二codetables/index.js 的resolveUsageCode有同名保护아파트在大/中/小多层都存在若按名字跨层匹配就会把错误的代码写进请求体所以指定了层级却匹配不上时宁可原样透传。使用前必须交代的合规红线 这一节的内容要在每次使用场景中告诉用户没有例外。诚实声明清单原文照发不用建议您数据是法원경매정보站公开信息的原样搬运投标前必须回法院原始公告复核该站对自动化极度敏感快速连续查询会封 IP 约 1 小时封后同一 IP 需等约 1 小时价格、拍卖日期、场所均以公告时点为准可能因correctionCount/cancellationCount反映的正正·撤回·延期而变动本客户端 read-only绝不自动投标。⚠️封禁data.ipcheck false不要自动重试。站点把重试流量视为持续攻击只会延长封禁正确动作是立即停止、把封禁事实与等待指引交给用户等约 1 小时或换网络。⚠️pageSize只有 4 个合法值。传1、5之类看起来合理的值本地校验直接抛错这是被上游 400 打疼后加上的前置拦截。⚠️连到用户自己的浏览器时只清 page/context/tab。Runtime 浏览器属于用户fallback 结束只断开 automation client绝不关闭 BrowserOS/Aside/Chrome 的 profile只有本地 launch 的浏览器才整体关闭。fail-open 与 fail-closed 的分界也在这里未知代码、未知法院代码是 fail-open透传让上游裁决而PLAYWRIGHT_UNAVAILABLEfallback 模块缺失和错误的 provider 名是 fail-closed立即抛错绝不静默降级成一个更脆弱的通道。限流参数怎么调默认值与更保守的客户端 默认节流四件套调用间 ≥2000ms 0~1000ms 随机增量、每会话 10 次预算、单次超时 15s、封禁即停。两个调节面CLI 全局标志--min-delay-ms 3000拉大间隔、--max-calls 5收紧预算、--timeout-ms改超时见 cli.js。注入自造客户端CourtAuctionHttpClient的minDelayMs/jitterMs/maxCallsPerSession/timeoutMs全部可 override传进任意主函数的client参数即可。const { CourtAuctionHttpClient, searchSaleNotices } require(court-auction-notice-search); const cautious new CourtAuctionHttpClient({ minDelayMs: 3000, jitterMs: 2000, maxCallsPerSession: 5, timeoutMs: 30_000 }); const first await searchSaleNotices({ date: 2026-05, client: cautious });预算用尽后开一个新客户端实例即重置计数要更高 burst间隔拉到 3~5 秒并换客户端。自由检索在裸 HTTP 遇到 WAF 型 400 时会自动走浏览器 fallback想彻底关掉就传fallback: false而BLOCKED默认中止只有显式fallbackOnBlocked: true才会再试一次。实战演练从安装到第一条数据 ️# 安装npm 包名与 CLI 同名也可 clone 仓库后在 packages/ 下构建 npm install court-auction-notice-search # 1) 先拿法院代码表确认目标法院的 B000xxx court-auction-notice-search codes courts --pretty | head -40 # 2) 查某月某法院的公告列表 court-auction-notice-search notices --date 2026-04 --court-code B000210 --bid-type date --pretty # 3) 案件号直查 court-auction-notice-search case --court-code B000210 --case-number 2024타경100001 --prettysearch子命令还支持--region 시도[:시군구[:읍면동]]、--usage 대[:중[:소]]、--appraised-min/max、--flbd-min/max、--page-size 10|20|50|100等完整用法见court-auction-notice-search -h或 README.md。Node.js 侧的最小集成就是前面 Query A 的示例主调用两行catch里判断error.code BLOCKED分支单独提示即可。排错速查5 类错误各给一个 30 秒动作 错误码触发条件30 秒自助动作BLOCKED响应data.ipcheck false停止一切重试告知用户约 1 小时后或换 IP 再试BUDGET_EXCEEDED会话调用超预算新建一个CourtAuctionHttpClient实例或调大maxCallsPerSessionUPSTREAM_ERROR站点返回通用错误最常见是会话过期或jdbnCd失效丢弃旧客户端从 warmup 重来看error.upstreamMessage定位NETWORK_ERROR超时/连接失败核对timeoutMs与网络原始异常在error.cause里PLAYWRIGHT_UNAVAILABLE想用浏览器 fallback 但模块没装npm i rebrowser-playwright或playwright-core后重试收尾这套保守客户端范式能迁移到哪三句话总结设计哲学传输上保守默认裸 HTTP浏览器只在被 WAF 打脸时出场、输出上结构化raw 列全量翻译为语义键并保留raw兜底、边界上清晰read-only、封禁即停、预算保险丝、同名代码保护。延伸阅读按这个顺序走instruction.md 是技能视角的完整工作流 → README.md 的 Endpoints used 表记录了每个请求体的 canonical 键 → index.js 看参数归一化与 fallback 判定 → http.js 看节流与错误构造 → 最后翻 test/fixtures/ 的响应夹具其中canonical-search-body.json由 capture-pgj151-submit.cjs 从真实浏览器提交捕获是理解请求结构的最佳样本。凡是无公开 API 强反爬 合规敏感的政务/金融站点查询慢即是稳 分层 fallback 预算即停这套组合都可以原样搬过去。【免费下载链接】k-skill한국인을 위한 스킬 모음집 - 에이전트를 한국인으로项目地址: https://gitcode.com/GitHub_Trending/ks/k-skill创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

用Python+ArcGIS Pro实现三调地类到土地三大类自动转换

用Python+ArcGIS Pro实现三调地类到土地三大类自动转换

干了多年国土数据处理,最怕听到的一句话就是:“这批三调数据要转成土地三大类,你今天赶一下。”以前每次接到这种活,我的流程都是打开ArcGIS Pro,加载地类图斑,对着DLBM字段一行行查编码、翻分类标准、再填…

📅 2026/9/20 13:29:59
Atlas 300V 24G 推理加速卡部署 YOLO 模型全流程详解

Atlas 300V 24G 推理加速卡部署 YOLO 模型全流程详解

先说结论,Atlas 300V 24G 确实是运算加速卡。而且这块卡跑 YOLO 系列模型,用好了就是性价比非常高的方案,但前提是你愿意在软件栈上花点时间。很多刚接触昇腾的人第一反应是“这卡能不能跑 YOLO”,第二反应是“为什么我照着网上的…

📅 2026/9/20 13:29:59
TiXL (T3) 中的 WebServer 运算符:用 Lib.io.http 搭建简易 HTTP 服务

TiXL (T3) 中的 WebServer 运算符:用 Lib.io.http 搭建简易 HTTP 服务

音视频图形学桌面应用 【免费下载链接】t3 TiXL is an open source software to create realtime motion graphics. 项目地址: https://gitcode.com/GitHub_Trending/t3/t3 点击查看 免费下载 TiXL(T3)作为一款开源实时动态图形创作工具&…

📅 2026/9/20 13:24:57
MORE NEWS

更多资讯

📰

CANN ops-math 算子指南:aclnnGeScalar 与 aclnnInplaceGeScalar 两段式接口的完整实战解析

CANN ops-math 算子指南:aclnnGeScalar 与 aclnnInplaceGeScalar 两段式接口的完整实战解析 【免费下载链接】ops-math 本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。 项目地址: https://gitcode.com/cann/ops-math 导读&…

📰

MBA论文写作工具对比:千笔AI与锐智AI深度测评

1. 项目概述:MBA论文写作工具的深度测评去年帮三位MBA校友修改毕业论文时,我意外发现他们都在使用AI写作辅助工具。其中千笔AI和锐智AI被提及频率最高,这引发了我的好奇:这两款定位高端的写作工具,到底谁更适合商科论文…

📰

AI论文写作工具实测:如何选择高效靠谱的学术助手

1. 毕业论文AI工具实测:如何选择真正靠谱的写作助手? 作为一名经历过论文煎熬的过来人,我深知毕业季的焦虑与压力。最近我花了整整两周时间,对市面上9款主流AI论文写作工具进行了深度实测,希望能为学弟学妹们提供一份…

📰

4 步让种子一键进下载服务器:PT 助手 PT-Plugin-Plus 完整上手指南

4 步让种子一键进下载服务器:PT 助手 PT-Plugin-Plus 完整上手指南 【免费下载链接】PT-Plugin-Plus PT 助手 Plus,为 Microsoft Edge、Google Chrome、Firefox 浏览器插件(Web Extensions),主要用于辅助下载 PT 站的种…

📰

AppTablePropsWithoutSelector 深入解析:Octane Table 中 AppTable 的无选择器渲染模式

AppTablePropsWithoutSelector 深入解析:Octane Table 中 AppTable 的无选择器渲染模式 【免费下载链接】table 🤖 Headless UI for building powerful tables & datagrids for TS/JS - React-Table, Vue-Table, Solid-Table, Svelte-Table 项目地…

📰

Biome 规则 useSingleTopLevelHeading 深度解析:以 deeper_levels 测试场景验证“无顶层标题不报错“的行为

开发工具Lint格式化静态分析代码质量前端 【免费下载链接】biome A toolchain for web projects, aimed to provide functionalities to maintain them. Biome offers formatter and linter, usable via CLI and LSP. 项目地址: https://gitcode.com/gh_mirrors/bi/…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬