Worldjobplus collect
Collect public overseas-job postings from WorldJobPlus (월드잡플러스), Korea HRD's 해외취업 portal, by keyword and country. Use when the user wants to gather, scan, or monitor overseas (해외취업) job listings for a role or country. Read-only — no login, save, or apply. Prints a normalized JSON array of postings.From its SKILL.md
npx -y skills add itssosunny/job-searcher --skill worldjobplus-collectAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 12 stars12 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
3.0 KB, 746 tokens by cl100k_base, as published. Nobody here has run it
WorldJobPlus Collect
Collect public overseas-employment postings from WorldJobPlus (월드잡플러스), the
Korea HRD (한국산업인력공단) 해외취업 portal, and return normalized JSON
(docs/SCHEMA.md). Self-contained: this skill's collect.py carries its own
fetch + parse and depends only on curl_cffi, beautifulsoup4, lxml.
Boundaries
- Read-only. GET/POST of the public listing endpoint only (the POST just sets page size / page index — it is not a login or an application). Never log in, save a job, message, or apply.
- No fabrication. Fields the listing does not expose are
null; titles, employers, countries, salaries, and deadlines are copied verbatim. - A collected posting reflects the public page at run time; it is not proof the role is still open.
Run
If collect.py fails with ModuleNotFoundError, install the deps yourself
(pip install curl_cffi beautifulsoup4 lxml) and retry — do not ask the user
to install anything.
pip install curl_cffi beautifulsoup4 lxml # or: pip install -r requirements.txt
python3 skills/worldjobplus-collect/collect.py --limit 20
python3 skills/worldjobplus-collect/collect.py --query "engineer" --location 일본
--query, -q— filter the parsed rows by title/employer substring (client-side).--location, -l— filter by country substring, e.g.일본,베트남,미국(client-side; country is exposed per row).--limit, -n— max postings (default 20; the collector pages through the list 50-per-page until the limit is reached).--pretty— indent the JSON.
Output: a JSON array on stdout; a one-line count on stderr. Each row exposes
title, employer (company), country (location), salary (연봉/시급 as shown),
employment type (정규직/계약직/인턴 as shown), application deadline (MM/DD(요일)),
and a snippet (job field / experience / education / visa).
Notes
- Source:
SRC-JOB-WORLDJOBPLUS— https://www.worldjob.or.kr/ (collectible_open, re-verified 2026-07-07). The list endpoint/advnc/cnttNewList.dois server-rendered; posting ids look likeE20260707013. - Rows are
div.post-box;external_idis theE…id from the row'sgoView1('E…')handler. The detail page is a JavaScript popup with no plain-GET URL, sourlpoints at the public list endpoint and the stable id lives inexternal_id(no fabricated detail link). - If the layout changes and 0 postings return, re-derive the
div.post-boxchild selectors (h5.mb4 a,p.mb8 a,.nation-box img,.day-box,.post-condition-box p) against a live fetch (do not hardcode a specific role or posting id).
What ships with it: 1 file
8.7 KB alongside SKILL.md, 1 of them executable
- collect.pyruns8.7 KB