ARTICLE DETAIL

资讯详情

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

k-skill 拍卖公告查询与反爬防护实战指南

k-skill 拍卖公告查询与反爬防护实战指南 k-skill 拍卖公告查询与反爬防护实战指南【免费下载链接】k-skill한국인을 위한 스킬 모음집 - 에이전트를 한국인으로项目地址: https://gitcode.com/GitHub_Trending/ks/k-skill韩国法院拍卖官网连查 16 次就封 IP 一小时有没有稳妥的查法k-skill 的 court-auction-notice-search 专查法院拍卖公告并转成 JSON。一图读懂拍卖公告数据流全景整个数据流一句话就能讲完输入端你给拍卖日期加法院和投标区分或一个案件号或一组筛选条件区域、用途、价格区间、流拍次数传输层先用直接 HTTP 打站点内部的 JSON 查询端点被 WAF 拦住时才换真浏览器兜底输出端把网站返回的韩文原始列统一规整成英文键的 JSON案件号、地址、评估价、起拍价开箱即用。这个技能属于 k-skill 仓库的本地生活与政务技能集整体面貌如下三条查询路径怎么选按你手里有什么来分路查公告列表走路径一手里有案件号走路径二想按条件组合筛物件走路径三。路径一「公告展开」典型问句是首尔中央地方法院 4 月底哪些不动产开拍调searchSaleNotices({ date, courtCode, bidType })拿到公告卡片列表用户挑定某张卡片后把卡片对象原样传给getSaleNoticeDetail(notice)展开出的items[]里每个物件带caseNumber、usage、address、appraisedPrice、minimumSalePrice。为什么必须原样传卡片因为卡片raw里藏着jdbnCd这类站点发回的加密令牌外部无法凭空构造。路径二「案件直查」典型问句是2024타경100001 进展如何调getCaseByCaseNumber({ courtCode, caseNumber })2024-100001这种写法会被自动补全成带타경的规范格式。found为 false 说明案件不存在或未公开引导用户核对案件号为 true 则拿到caseInfo案件名、受理日、裁判部、schedule[]每期拍卖日期的最低价与结果和claimDeadline分配请求终期。路径三「自由物件检索」典型问句是首尔 1 亿到 5 亿、流拍至少 1 次的公寓调searchProperties({ region, usage, priceRange, flbdCount, saleDate, pageSize })。给了区域走지번주소地番地址模式不给区域则退回公告模式这个切换是自动的。pageSize只认 10/20/50/100 四档——上游下拉框就这四个选项传别的值现场直接回 HTTP 400不如本地先拒掉。返回的items[]已把韩文列名规整成caseNumber、address、minimumSalePrice、flbdCount等英文键省掉一层映射。传输层怎么工作HTTP 打头、浏览器兜底常规查询公告、案件、物件其实完全不需要真实浏览器——官网搜索按钮本质上是向后端 POST 一段结构化 JSON直接 HTTP 就能复刻整个流程启动快、依赖少、更稳定。浏览器只在两种情况下出场一是路径三的自由检索撞上 WAF 型 HTTP 400站点对这个端点的裸 HTTP 查得更严自动切浏览器重试二是遇到显式封禁响应BLOCKED默认是立刻停手只有调用方显式传fallbackOnBlocked: true表示知情并愿意承担风险时才重试。兜底连接的优先级是先探用户已经打开的浏览器——macOS 上依次试 Aside REPL、BrowserOS、Chrome CDP其他平台 BrowserOS 优先——全都够不着再本地启动无头 Chromium。安全边界划得很死连上的是用户自己的浏览器退出时只断开自动化连接、清理自己开的页面绝不动用户的浏览器 profile本地启动的浏览器才完整关闭。慢即是稳限流与调用预算这个站点的机器人检测相当激进实测大约 30 秒内 16 次请求就会触发一小时封禁所以默认参数刻意慢过你想要的速度两次调用之间至少等 2 秒、再叠加 0 到 1 秒的随机抖动目的是打散机器节奏每会话预算 10 次调用低于触发线并留了余量用完就抛BUDGET_EXCEEDED而不是偷偷继续单次超时 15 秒。想再保守一点自己构造客户端注入即可const { CourtAuctionHttpClient, searchSaleNotices } require(court-auction-notice-search); const slowClient new CourtAuctionHttpClient({ minDelayMs: 3000, jitterMs: 2000, maxCallsPerSession: 5, timeoutMs: 30_000 }); const lot await searchSaleNotices({ date: 2026-04, client: slowClient }); console.log(共 ${lot.count} 条公告);查询量确实更大时正确做法是开新会话再new一个客户端而不是在预算告急时硬扛。最小可运行示例怎么跑下面这段做了三件事按日期拉首尔中央地方法院的公告列表、把第一条公告展开成逐条物件、再按案件号直查一次末尾统一接住封禁错误const { searchSaleNotices, getSaleNoticeDetail, getCaseByCaseNumber } require(court-auction-notice-search); async function run() { const list await searchSaleNotices({ date: 2026-04-27, courtCode: B000210, bidType: date }); console.log(拿到 ${list.count} 条公告); if (list.count 0) { const detail await getSaleNoticeDetail(list.items[0]); detail.items.forEach((row) console.log([${row.caseNumber}] ${row.address} | 评估 ${row.appraisedPrice} / 起拍 ${row.minimumSalePrice}) ); } const hit await getCaseByCaseNumber({ courtCode: B000210, caseNumber: 2024타경100001 }); console.log(hit.found ? 案件在册拍卖期日 ${hit.schedule.length} 次 : 案件号未命中先核对格式与法院); } run().catch((err) { console.error(err.code BLOCKED ? 被站点封禁停手约 1 小时或换网络再试 : err); process.exitCode 1; });courtCode形如B000210不确定时先用getCourtCodes()拉代码表对一下名字。CLI 速查核心命令一览court-auction-notice-search codes courts --pretty # 法院代码表先确认 B 码 court-auction-notice-search codes bid-types --pretty # 投标区分静态代码bid/usages/regions 同理 court-auction-notice-search notices --date 2026-04 --court-code B000210 --bid-type date --pretty # 拍卖公告列表 court-auction-notice-search case --court-code B000210 --case-number 2024타경100001 --pretty # 案件号直查 court-auction-notice-search search --sido 서울특별시 --usage-large 건물 --price-min 100000000 --sale-from 2026-05-01 --sale-to 2026-05-20 --pretty # 区域用途价格组合检索 court-auction-notice-search notices --date 2026-04 --min-delay-ms 3000 --max-calls 5 --pretty # 更保守拉大间隔、压低预算全局开关默认输出 JSON加--pretty美化、--include-rawfalse去掉原始列。失败时怎么办五种错误的即时应对 ⚠️遇到BLOCKED站点回ipcheckfalse→ 立刻停手不做任何自动重试把封禁事实原样告诉用户等待约 1 小时自然恢复或换 IP/网络也可由人用浏览器走完官方的解封画面。遇到BUDGET_EXCEEDED→ 这是有意的安全阀不是 bug确有必要时用--max-calls 20调大但必须同时向用户说明封禁风险。遇到UPSTREAM_ERROR→ 最常见原因是会话过期或jdbnCd令牌失效从预热请求warmup GET重新开始一轮具体原因看error.upstreamMessage。遇到NETWORK_ERROR→ 网络超时或连接失败检查网络与超时设置原始异常在error.cause里。遇到PLAYWRIGHT_UNAVAILABLE→ 想用浏览器兜底但模块没装npm i rebrowser-playwright或npm i playwright-core二选一即可解决。合规红线你必须告诉用户的 4 句话 每次用这个技能下面四句非说不可漏一句就是事故数据是法원경매정보法院拍卖信息站点公开信息的原样转述仅供参考实际投标前必须回到法院原始公告复核。站点对自动化查询极其敏感快速连查可能让 IP 被封锁 1 小时同一 IP 只能干等恢复。评估价、起拍价、拍卖日期与场所均以公告时点为准可能因更正、撤回、延期而变化响应里的correctionCount、cancellationCount就是这类信号的入口。工具是 read-only不自动填写、不自动提交投标书投标必须由人在法院完成。守住这四句、再叠加节流与预算默认值这个没有公开 API 的政府站点才算真正可长期复用。读完往哪走按顺序往下读从行为边界到实现细节逐层深入court-auction-notice-search/instruction.md —— 技能边界、输入参数约束与限流规则的完整原文packages/court-auction-notice-search/README.md —— 完整 API 一览、各端点请求体字段与 fallback 层级说明packages/court-auction-notice-search/src/index.js —— 门面实现参数归一化、请求体构造与 fallback 判定packages/court-auction-notice-search/src/transport/http.js —— 节流、调用预算与 ipcheck 封禁检测的落点packages/court-auction-notice-search/test/fixtures/ —— 各端点的样例响应与真实捕获的请求体理解 JSON 形状最快的材料【免费下载链接】k-skill한국인을 위한 스킬 모음집 - 에이전트를 한국인으로项目地址: https://gitcode.com/GitHub_Trending/ks/k-skill创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表