sh-notice-search
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseSH Notice Search
SH公告搜索
What this skill does
本技能的功能
서울주택도시개발공사(SH, )의 공고 및 공지 공개 HTML 게시판을 직접 읽어 청약·주택 공고 목록과 상세 본문, 첨부파일 메타데이터를 JSON으로 정리한다.
www.i-sh.co.kr- 키워드로 SH 공고/공지 목록을 검색한다.
- 공식 게시판 분류(주택임대, 주택분양, 주택매입/주거복지, 토지, 상가/공장 등)를 선택한다.
- 상세 페이지에서 본문, 담당부서, 등록일, 조회수, 실제 첨부파일명을 추출한다.
- 첨부는 아이콘 템플릿이 아니라 onclick이 달린 실제 첨부 앵커와
existFile('N')메타데이터를 기준으로 추출한다.downList
청약 신청, 서류 제출, 로그인 필요한 마이페이지 조회, 결제, 알림 발송은 하지 않는다.
首尔住宅城市开发公社(SH, )的公告及通知公开HTML公告栏直接读取,将认购·住宅公告列表、详细正文、附件元数据整理为JSON格式。
www.i-sh.co.kr- 通过关键词搜索SH公告/通知列表。
- 选择官方公告栏分类(住宅租赁、住宅分售、住宅购买/居住福利、土地、商铺/工厂等)。
- 从详情页提取正文、负责部门、注册日期、浏览量、实际附件文件名。
- 附件提取基于带有onclick事件的实际附件锚点和
existFile('N')元数据,而非图标模板。downList
不处理认购申请、文件提交、需登录的我的页面查询、支付、通知发送等操作。
When to use
使用场景
- "SH 행복주택 공고 찾아줘"
- "서울주택도시개발공사 매입임대 공고 보여줘"
- "SH 공고 seq 304371 상세와 첨부파일 알려줘"
- "SH 분양 공고 최신 목록 조회"
- "帮我查找SH幸福住宅公告"
- "展示首尔住宅城市开发公社的购买租赁公告"
- "告诉我SH公告seq 304371的详情和附件信息"
- "查询SH分售公告最新列表"
Prerequisites
前置条件
- 인터넷 연결
- Node.js 18+
- 이 저장소의 npm package 또는 동일 로직
sh-notice-search
- 网络连接
- Node.js 18+
- 本仓库的npm包或相同逻辑的代码
sh-notice-search
Public access path discovered
已发现的公开访问路径
Primary source: official SH public HTML board
主要来源:SH官方公开HTML公告栏
- default rent list:
https://www.i-sh.co.kr/app/lay2/program/S1T294C297/www/brd/m_247/list.do?multi_itm_seq=2 - default rent detail:
https://www.i-sh.co.kr/app/lay2/program/S1T294C297/www/brd/m_247/view.do?multi_itm_seq=2&seq=<seq> - title keyword search: add
srchWord=<keyword>&srchTp=0 - content keyword search: add
srchWord=<keyword>&srchTp=1 - fixed board page size: 10 rows per page; use for pagination.
page
Discovery result: direct unauthenticated fetches from return list/detail HTML. A live smoke on 2026-05-15 showed without returned the full rent board count, while narrowed the result set. Therefore the client always sends when a keyword is present.
www.i-sh.co.krsrchWord=행복주택srchTpsrchTp=0srchTpNo route is used because this upstream is public and does not require an API key.
k-skill-proxy- 默认租赁列表:
https://www.i-sh.co.kr/app/lay2/program/S1T294C297/www/brd/m_247/list.do?multi_itm_seq=2 - 默认租赁详情:
https://www.i-sh.co.kr/app/lay2/program/S1T294C297/www/brd/m_247/view.do?multi_itm_seq=2&seq=<seq> - 标题关键词搜索:添加
srchWord=<keyword>&srchTp=0 - 内容关键词搜索:添加
srchWord=<keyword>&srchTp=1 - 固定公告栏每页条数:每页10条;使用参数进行分页。
page
发现结果:直接从进行未认证请求可返回列表/详情HTML。2026年5月15日的实时测试显示,不带的返回了完整的租赁公告栏数据,而缩小了结果范围。因此客户端在存在关键词时始终发送参数。
www.i-sh.co.krsrchTpsrchWord=행복주택srchTp=0srchTp未使用路由,因为该上游服务是公开的,不需要API密钥。
k-skill-proxySupported category aliases
支持的分类别名
| Input aliases | Official tab |
|---|---|
| 주택임대 ( |
| 주택분양 ( |
| 주택매입 ( |
| 토지 |
| 상가/공장 |
| 보상/이주 |
| 현상설계 |
| 기타 |
| 전체 |
주거복지주택매입| 输入别名 | 官方标签页 |
|---|---|
| 住宅租赁 ( |
| 住宅分售 ( |
| 住宅购买 ( |
| 土地 |
| 商铺/工厂 |
| 补偿/搬迁 |
| 详细设计 |
| 其他 |
| 全部 |
주거복지住宅购买Workflow
工作流程
1. Search notices
1. 搜索公告
js
const { searchNotices } = require("sh-notice-search")
const result = await searchNotices({
keyword: "행복주택",
category: "임대",
page: 1,
limit: 5
})
console.log(result.items)CLI:
bash
node packages/sh-notice-search/src/cli.js 행복주택 --category 임대 --limit 5
node packages/sh-notice-search/src/cli.js 매입임대 --category 주거복지 --status 진행Returned list fields include:
seqtitledepartmentregistered_dateviewsis_new- ,
categorycategory_name - ,
statusstatus_basis detail_url
js
const { searchNotices } = require("sh-notice-search")
const result = await searchNotices({
keyword: "행복주택",
category: "임대",
page: 1,
limit: 5
})
console.log(result.items)命令行界面(CLI):
bash
node packages/sh-notice-search/src/cli.js 행복주택 --category 임대 --limit 5
node packages/sh-notice-search/src/cli.js 매입임대 --category 주거복지 --status 진행返回的列表字段包括:
seqtitledepartmentregistered_dateviewsis_new- ,
categorycategory_name - ,
statusstatus_basis detail_url
2. Fetch detail
2. 获取详情
js
const { getNoticeDetail } = require("sh-notice-search")
const detail = await getNoticeDetail({ seq: "304371", category: "임대" })
console.log(detail.notice.content_text)
console.log(detail.notice.attachments)CLI:
bash
node packages/sh-notice-search/src/cli.js --seq 304371 --category 임대Attachment fields:
filenamefile_seqfile_sizefile_type- (official SH preview/converter URL)
preview_url
Direct download URLs are intentionally not returned. Hand off or to the user's browser.
detail_urlpreview_urljs
const { getNoticeDetail } = require("sh-notice-search")
const detail = await getNoticeDetail({ seq: "304371", category: "임대" })
console.log(detail.notice.content_text)
console.log(detail.notice.attachments)命令行界面(CLI):
bash
node packages/sh-notice-search/src/cli.js --seq 304371 --category 임대附件字段包括:
filenamefile_seqfile_sizefile_type- (SH官方预览/转换URL)
preview_url
有意不返回直接下载URL。将或交给用户的浏览器处理。
detail_urlpreview_url3. Interpret status conservatively
3. 谨慎解读状态
The SH public board list does not expose a first-class status field like /. The package can filter by , but it is a title-text classifier:
접수중마감status- /
open: titles with 모집공고, 입주자 모집, 신청, 접수, 공고진행 - /
closed: titles with 마감, 계약결과, 결과, 완료, 종료마감 - /
announced: titles with 당첨, 발표당첨자
When answering, disclose that status is inferred from the title unless the detailed 공고문 body states exact dates.
SH公开公告栏列表未暴露/这类一级状态字段。本包可按过滤,但这是基于标题文本的分类器:
접수중마감status- /
open: 标题包含"招募公告"、"入住者招募"、"申请"、"受理"、"公告"진행 - /
closed: 标题包含"截止"、"合同结果"、"结果"、"完成"、"结束"마감 - /
announced: 标题包含"中奖"、"公布"당첨자
回复时需说明,除非详细公告正文中明确标注日期,否则状态是从标题推断而来。
Done when
完成标准
- Official SH list/detail URLs were queried directly from the user machine.
- Keyword searches include so
srchTpis not ignored.srchWord - Pagination uses and recognizes the fixed 10-row board page size.
page - Attachments are extracted from actual anchors/downList metadata, not extension icon templates.
existFile() - Public source URLs are shown, and login/application automation is avoided.
- 用户设备直接查询SH官方列表/详情URL。
- 关键词搜索包含参数,避免
srchTp被忽略。srchWord - 分页使用参数,并识别公告栏固定的每页10条规则。
page - 附件从实际的锚点/downList元数据提取,而非扩展名图标模板。
existFile() - 显示公开源URL,避免登录/申请自动化操作。
Failure modes
失败场景
- SH can change board paths, table markup, JavaScript functions, or structure; parsing may become partial or fail.
downList - IP-rate-limit, NetFunnel throttling, maintenance pages, or temporary 4xx/5xx responses can block live fetches. Do not bypass CAPTCHA/login/queue protections.
- without
srchWordis known to be ignored by the SH board; always sendsrchTpfor title orsrchTp=0for content.srchTp=1 - larger than 10 does not make SH return more rows. Use
pageSizefor additional results.page - Attachment preview URLs may require browser handoff and can be governed by SH's current direct-link/download policy.
- Status is inferred from title text because the public list lacks an explicit status column.
- SH可能修改公告栏路径、表格标记、JavaScript函数或结构;解析可能部分失效或完全失败。
downList - IP速率限制、NetFunnel限流、维护页面或临时4xx/5xx响应可能阻止实时请求。请勿绕过验证码/登录/队列保护。
- SH公告栏已知会忽略不带的
srchTp;标题搜索始终发送srchWord,内容搜索发送srchTp=0。srchTp=1 - 大于10时,SH不会返回更多数据。使用
pageSize参数获取更多结果。page - 附件预览URL可能需要交给浏览器处理,且受SH当前直接链接/下载政策约束。
- 由于公开列表缺少明确的状态列,状态是从标题文本推断而来。
Notes
注意事项
- Read-only lookup only.
- No proxy, no API key, no secrets.
- Do not automate 청약 신청, 로그인, 서류 제출, payment, or 마이페이지 flows.
- 仅支持只读查询。
- 无需代理、API密钥或机密信息。
- 请勿自动化认购申请、登录、文件提交、支付或我的页面流程。