daangn-realty-search

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Daangn Realty Search

Daangn Realty 房源搜索

What this skill does

本Skill的功能

당근부동산 목록의 공개 Remix
_data
JSON과 상세 페이지의 JSON-LD/HTML 메타를 읽어 매물 후보를 정리한다.
최종 사용자는 자연어로 요청해도 되고, 필요하면 아래의 Python helper를 직접 실행한다. 외부 패키지나 k-skill-proxy 없이 Python 표준 라이브러리만 사용한다.
读取Daangn Realty(당근不动产)列表的公开Remix
_data
JSON数据以及详情页的JSON-LD/HTML元数据,整理房源候选信息。
最终用户可以用自然语言提出请求,也可以直接运行下方的Python辅助脚本。仅使用Python标准库,无需外部包或k-skill-proxy。

When to use

使用场景

  • "당근부동산 합정동 전세 찾아봐"
  • "마포구 월세 매물 봐줘"
  • "이 당근부동산 URL 상세 요약해줘"
  • "帮我找合井洞的Daangn Realty全租房源"
  • "帮我看看麻浦区的月租房源"
  • "帮我总结这个Daangn Realty URL的详情"

When not to use

不适用场景

  • 당근 계정 로그인이 필요한 작업
  • 채팅, 찜, 거래 제안, 문의, 지원, 예약, 계약, 구매처럼 상대방 또는 계정에 영향을 주는 작업
  • CAPTCHA/봇 차단/로그인벽 우회가 필요한 작업
  • 需要登录Daangn账号的操作
  • 会影响对方或账号的操作,如聊天、收藏、交易提议、咨询、申请、预约、签约、购买等
  • 需要绕过CAPTCHA/机器人拦截/登录墙的操作

Prerequisites

前置条件

  • 인터넷 연결
  • Python 3.9+
  • 이 저장소 루트에서 실행하거나, 스크립트 경로를 절대경로로 지정
  • 网络连接
  • Python 3.9及以上版本
  • 在本仓库根目录执行,或指定脚本的绝对路径

Data surfaces

数据来源

  • Region resolver:
    https://www.daangn.com/kr/api/v1/regions/keyword?keyword=<지역명>
  • Search
    _data
    :
    /kr/realty/?in=<지역명>-<id>&_data=routes/kr.realty._index
  • Detail:
    https://realty.daangn.com/articles/<id>
    application/ld+json
    <title>
  • 地区解析器:
    https://www.daangn.com/kr/api/v1/regions/keyword?keyword=<地区名>
  • 搜索
    _data
    /kr/realty/?in=<地区名>-<id>&_data=routes/kr.realty._index
  • 详情页:
    https://realty.daangn.com/articles/<id>
    中的
    application/ld+json
    <title>

Workflow

工作流程

  1. 사용자 요청에서 키워드, 지역명, 가격/거래 유형 같은 필터를 추출한다.
  2. 지역명이 있으면 region resolver로 내부 region id를 찾는다.
  3. 목록 검색은 category별
    _data
    route를 호출한다.
  4. 상세 URL이 주어지면 category별 detail route 또는 공개 HTML 메타를 조회한다.
  5. 결과를 짧게 정리하되 source URL과 적용 지역을 보존한다.
  1. 从用户请求中提取关键词、地区名、价格/交易类型等筛选条件。
  2. 若存在地区名,通过地区解析器查找内部地区ID。
  3. 按分类调用
    _data
    路由进行列表搜索。
  4. 若提供详情URL,则按分类调用详情路由或查询公开HTML元数据。
  5. 简要整理结果,同时保留来源URL和适用地区。

Commands

命令示例

bash
python3 daangn-realty-search/scripts/daangn_realty.py search --region "합정동" --limit 5
python3 daangn-realty-search/scripts/daangn_realty.py search --region "합정동" --sales-type "APARTMENT" --trade-type "MONTHLY_RENT"
python3 daangn-realty-search/scripts/daangn_realty.py detail "https://realty.daangn.com/articles/..."
bash
python3 daangn-realty-search/scripts/daangn_realty.py search --region "합정동" --limit 5
python3 daangn-realty-search/scripts/daangn_realty.py search --region "합정동" --sales-type "APARTMENT" --trade-type "MONTHLY_RENT"
python3 daangn-realty-search/scripts/daangn_realty.py detail "https://realty.daangn.com/articles/..."

Output fields

输出字段

  • title, salesType, trade, area, areaPyeong, totalManageCost, url
  • detail: JSON-LD, page title
  • title, salesType, trade, area, areaPyeong, totalManageCost, url
  • 详情:JSON-LD、页面标题

Region handling

地区处理

지역 필터가 있으면 먼저 당근 지역 검색 API로 내부 지역 id를 해석한다.
text
https://www.daangn.com/kr/api/v1/regions/keyword?keyword=합정동
→ 서울특별시 마포구 합정동, id=231
→ in=합정동-231
동일한 지명이 여러 지역에 있으면 다음 우선순위로 선택한다.
  1. 사용자가 입력한 문자열이
    name
    ,
    name1
    ,
    name2
    ,
    name3
    중 하나와 정확히 맞는 후보
  2. 서울
    depth=3
    동 단위 후보
  3. 첫 번째 후보
응답에는 항상
effective_region
또는 실제 적용된 지역명을 포함한다. 사용자의 의도와 다른 지역으로 보이면 결과를 단정하지 말고 후보 확인을 요청한다. IP/쿠키 기본 위치에 의존하지 않는다.
若存在地区筛选条件,先通过Daangn地区搜索API解析内部地区ID。
text
https://www.daangn.com/kr/api/v1/regions/keyword?keyword=합정동
→ 首尔特别市麻浦区合井洞,id=231
→ in=합정동-231
若同一地名对应多个地区,按以下优先级选择:
  1. 用户输入字符串与
    name
    name1
    name2
    name3
    其中之一完全匹配的候选
  2. 首尔
    depth=3
    的洞级候选
  3. 第一个候选
响应中始终包含
effective_region
或实际应用的地区名。若显示的地区与用户意图不符,请勿直接确定结果,需请求用户确认候选。不依赖IP/ Cookie默认位置。

Safety and scope

安全与范围

  • 읽기 전용 검색/상세 조회만 수행한다.
  • 로그인, 채팅, 찜, 거래 제안, 지원, 문의, 예약, 계약, 구매 자동화는 하지 않는다.
  • 공개 웹 표면이 바뀌거나 빈 응답/봇 차단/로그인벽이 나오면 실패 모드로 보고하고 우회하지 않는다.
  • 결과는 실시간 재고/공고 상태와 달라질 수 있으므로 source URL을 함께 제시한다.
  • 仅执行只读的搜索/详情查询操作。
  • 不执行登录、聊天、收藏、交易提议、申请、咨询、预约、签约、购买等自动化操作。
  • 若公开网页结构变更、返回空响应、触发机器人拦截或登录墙,则进入失败模式并报告,不进行绕过。
  • 结果可能与实时库存/公告状态不符,需同时提供来源URL。

Failure modes

失败场景

  • 당근의 Remix route 이름이나 JSON shape가 변경되면
    _data
    조회가 실패할 수 있다.
  • 지역명이 넓거나 중복되면 다른 행정동이 선택될 수 있다.
  • 검색 결과가 0건이어도 사이트 정책/지역 기본값/필터 조합 때문일 수 있으므로 source URL을 보존한다.
  • 상세 조회는 삭제/종료/비공개 전환된 글에서 실패할 수 있다.
  • 若Daangn的Remix路由名称或JSON结构变更,
    _data
    查询可能失败。
  • 若地区名范围过广或存在重复,可能会选择错误的行政洞。
  • 即使搜索结果为0条,也可能是由于网站政策、地区默认值或筛选条件组合导致,需保留来源URL。
  • 若房源已被删除、下架或转为私密,详情查询可能失败。

Done when

完成标准

  • 지역명이 있으면 지역 id를 해석하고 적용했다.
  • 목록 조회 또는 상세 조회를 최소 1회 수행했다.
  • 결과에 source URL과 effective region을 포함했다.
  • 인증/거래성 액션은 수행하지 않았다.
  • 若存在地区名,已解析并应用地区ID。
  • 至少执行一次列表查询或详情查询。
  • 结果中包含来源URL和effective region。
  • 未执行认证/交易类操作。