daangn-jobs-search
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseDaangn Jobs Search
Daangn Jobs 搜索
What this skill does
本技能功能
당근알바 공개 Remix JSON route로 채용/알바 공고 목록과 상세 정보를 읽기 전용으로 조회한다.
_data최종 사용자는 자연어로 요청해도 되고, 필요하면 아래의 Python helper를 직접 실행한다. 외부 패키지나 k-skill-proxy 없이 Python 표준 라이브러리만 사용한다.
通过大邻兼职(Daangn Jobs)公开的Remix JSON路由,以只读方式查看招聘/兼职信息列表及详情。
_data最终用户可以用自然语言发起请求,也可根据需要直接运行下方的Python辅助脚本。仅使用Python标准库,无需外部包或k-skill-proxy。
When to use
使用场景
- "당근알바 합정동 카페 찾아봐"
- "홍대 근처 주말 알바 검색"
- "이 당근알바 공고 상세 봐줘"
- "帮我找合井洞的大邻兼职咖啡店岗位"
- "搜索弘大附近的周末兼职"
- "帮我查看这个大邻兼职招聘的详情"
When not to use
不适用场景
- 당근 계정 로그인이 필요한 작업
- 채팅, 찜, 거래 제안, 문의, 지원, 예약, 계약, 구매처럼 상대방 또는 계정에 영향을 주는 작업
- 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/jobs/?in=<지역명>-<id>&search=<keyword>&_data=routes/kr.jobs._index - Detail fallback: redirects to
<job-url>and exposes public HTML title/meta/JSON-LD. The helper first tries the legacyjobs.daangn.com/job-posts/<id>route and falls back to HTML meta when that route returns an empty response._data
- 地区解析器:
https://www.daangn.com/kr/api/v1/regions/keyword?keyword=<지역명> - 搜索 路由:
_data/kr/jobs/?in=<지역명>-<id>&search=<keyword>&_data=routes/kr.jobs._index - 详情回退机制:redirects to
<job-url>and exposes public HTML title/meta/JSON-LD. The helper first tries the legacyjobs.daangn.com/job-posts/<id>route and falls back to HTML meta when that route returns an empty response._data
Workflow
工作流程
- 사용자 요청에서 키워드, 지역명, 가격/거래 유형 같은 필터를 추출한다.
- 지역명이 있으면 region resolver로 내부 region id를 찾는다.
- 목록 검색은 category별 route를 호출한다.
_data - 상세 URL이 주어지면 category별 detail route 또는 공개 HTML 메타를 조회한다.
- 결과를 짧게 정리하되 source URL과 적용 지역을 보존한다.
- 从用户请求中提取关键词、地区名、薪资/交易类型等筛选条件。
- 若存在地区名,通过地区解析器查找内部地区ID。
- 列表搜索调用对应分类的路由。
_data - 若提供详情链接,则调用对应分类的详情路由或获取公开HTML元数据。
- 精简整理结果,同时保留来源链接和适用地区。
Commands
命令示例
bash
python3 daangn-jobs-search/scripts/daangn_jobs.py search "카페" --region "합정동" --limit 5
python3 daangn-jobs-search/scripts/daangn_jobs.py detail "https://www.daangn.com/kr/jobs/.../"bash
python3 daangn-jobs-search/scripts/daangn_jobs.py search "카페" --region "합정동" --limit 5
python3 daangn-jobs-search/scripts/daangn_jobs.py detail "https://www.daangn.com/kr/jobs/.../"Output fields
输出字段
- title, company, region, address, salary, salaryType, workDays, workTimeStart, workTimeEnd, closed, url
- detail: 원문 if the
jobPostroute is available; otherwise public page_data,title, andmetajson_ld
- title, company, region, address, salary, salaryType, workDays, workTimeStart, workTimeEnd, closed, url
- detail: 원문 if the
jobPostroute is available; otherwise public page_data,title, andmetajson_ld
Region handling
地区处理逻辑
지역 필터가 있으면 먼저 당근 지역 검색 API로 내부 지역 id를 해석한다.
text
https://www.daangn.com/kr/api/v1/regions/keyword?keyword=합정동
→ 서울특별시 마포구 합정동, id=231
→ in=합정동-231동일한 지명이 여러 지역에 있으면 다음 우선순위로 선택한다.
- 사용자가 입력한 문자열이 ,
name,name1,name2중 하나와 정확히 맞는 후보name3 - 서울 동 단위 후보
depth=3 - 첫 번째 후보
응답에는 항상 또는 실제 적용된 지역명을 포함한다. 사용자의 의도와 다른 지역으로 보이면 결과를 단정하지 말고 후보 확인을 요청한다. IP/쿠키 기본 위치에 의존하지 않는다.
effective_region若存在地区筛选条件,先通过大邻地区搜索API解析内部地区ID。
text
https://www.daangn.com/kr/api/v1/regions/keyword?keyword=합정동
→ 서울특별시 마포구 합정동, id=231
→ in=합정동-231若同一地名对应多个地区,按以下优先级选择:
- 用户输入字符串与,
name,name1,name2中某一项完全匹配的候选name3 - 首尔 洞级候选
depth=3 - 第一个候选
响应中需始终包含或实际应用的地区名。若发现结果与用户意图的地区不符,请勿直接确定结果,需请求用户确认候选地区。不依赖IP/ cookie默认位置。
effective_regionSafety and scope
安全与范围限制
- 읽기 전용 검색/상세 조회만 수행한다.
- 로그인, 채팅, 찜, 거래 제안, 지원, 문의, 예약, 계약, 구매 자동화는 하지 않는다.
- 공개 웹 표면이 바뀌거나 빈 응답/봇 차단/로그인벽이 나오면 실패 모드로 보고하고 우회하지 않는다.
- 결과는 실시간 재고/공고 상태와 달라질 수 있으므로 source URL을 함께 제시한다.
- 仅执行只读的搜索/详情查看操作。
- 不执行登录、聊天、收藏、交易提议、申请、咨询、预约、签约、购买等自动化操作。
- 若公开网页结构变更或返回空响应/机器人拦截/登录墙,进入失败模式并上报,不尝试绕过。
- 结果可能与实时库存/招聘状态存在差异,因此需同时提供来源链接。
Failure modes
失败场景
- 당근의 Remix route 이름이나 JSON shape가 변경되면 조회가 실패할 수 있다.
_data - 지역명이 넓거나 중복되면 다른 행정동이 선택될 수 있다.
- 검색 결과가 0건이어도 사이트 정책/지역 기본값/필터 조합 때문일 수 있으므로 source URL을 보존한다.
- 상세 조회는 삭제/종료/비공개 전환된 글에서 실패할 수 있다.
- 若大邻的Remix路由名称或JSON结构变更,查询可能失败。
_data - 若地区名范围过广或存在重名,可能会选择错误的行政区域。
- 即使搜索结果为0,也可能是网站政策/地区默认值/筛选条件组合导致的,需保留来源链接。
- 若招聘信息已被删除/结束/转为私密,详情查询可能失败。
Done when
完成标准
- 지역명이 있으면 지역 id를 해석하고 적용했다.
- 목록 조회 또는 상세 조회를 최소 1회 수행했다.
- 결과에 source URL과 effective region을 포함했다.
- 인증/거래성 액션은 수행하지 않았다.
- 若存在地区名,已解析并应用地区ID。
- 已至少执行一次列表查询或详情查询。
- 结果中包含来源链接和实际生效地区。
- 未执行认证/交易类操作。