远程工作职位爬取工具Skill:一句话把 workingnomads.com 的远程岗位变成结构化表格
- 一句话定位:这是一个专为远程求职者与招聘研究者设计的爬取技能,能从 workingnomads.com 抓取最新远程职位,并输出 JSON、Markdown、飞书表格三种格式。
- 核心能力:全站职位抓取、关键词或技术栈筛选(前端、React、Vue 等)、类别筛选(如 engineering)、自动解析公司、薪资、技能要求等字段。
- 技术底子:内置 Playwright 做页面渲染,能够处理 Angular 动态加载页面,避免只抓到空壳 HTML。
- 集成亮点:抓完即可写入飞书知识库或多维表格,省掉“复制粘贴到表格”的最后一步。
- 上手门槛:自然语言触发词即可唤起,也可以用命令行参数精细控制抓取数量与范围,技术型用户与非技术型用户都能找到合适的用法。
该技能叫什么?如何一键安装 AI 技能提升开发效率?
中文名:远程工作职位爬取工具Skill 英文名:workingnomads-jobs 技能 ID:12473
它要解决的问题很具体:远程岗位信息分散、更新快、格式乱。求职者每天手动刷 workingnomads.com,既费时间又容易漏掉新发布的岗位;做招聘情报、行业薪酬调研的人,更不可能靠人工一条条抄公司名和薪资。这个技能把“打开网页 → 翻列表 → 抄字段 → 整理成表”这条链路压缩成一句指令或一行命令。
「一键安装」的思路是:把技能当作一个可复用的能力包接入你的 AI 工作环境,安装一次,之后长期按需调用,而不是每次重新写爬虫脚本。由于「技能详情内容」中未提供具体的市场链接与安装命令,以下流程以通用描述给出,具体命令与入口请以官方说明为准:
- 确认安装前提:技能依赖 Node.js 运行环境(脚本以
node scripts/...方式调用),并使用 Playwright 进行页面渲染,因此需要本机具备 Node.js 环境,技能所附带的 Playwright 依赖应当已随技能包安装完成;如首次运行提示浏览器内核缺失,按 Playwright 官方方式补装浏览器内核即可(以官方说明为准)。 - 获取技能包:通过你所在 AI 平台的技能市场、技能仓库或团队内部技能分发渠道搜索英文名
workingnomads-jobs或中文名「远程工作职位爬取工具」,完成安装或导入。 - 确认技能目录结构:安装后应能看到技能根目录(示例中为
skills/workingnomads-jobs),其中包含scripts/scrape-workingnomads.js与scripts/save_to_bitable.py两个核心脚本,以及用于存放结果的output/目录。 - 验证是否生效:对 AI 说一句触发词,例如“爬取 workingnomads”或“获取远程工作”,若技能被唤起并开始抓取、在
output/workingnomads/下生成当日文件,即表示安装成功。也可以直接执行一次默认爬取命令做冒烟测试:
cd skills/workingnomads-jobs
node scripts/scrape-workingnomads.js
能跑通并生成 jobs-YYYY-MM-DD.json,就说明环境与技能都就绪了。
该技能的主要功能和特点
- 基础爬取:一键获取网站上的职位列表,默认抓取 50 条,可通过参数调整数量。
- 关键词与技术栈筛选:支持按技术方向筛选,例如
--frontend只取前端相关职位,也可覆盖 React、Vue 等关键词方向,避免抓到一堆与自身技能栈无关的岗位。 - 类别筛选:通过
--category参数按职位类别取数,例如--category=engineering只取工程类职位,适合按职能做定向情报收集。 - 结构化数据解析:自动提取公司、薪资、技能要求等关键信息,输出的是字段清晰的记录,而不是一整页难以处理的原始 HTML。
- 多格式输出:同一批数据可产出 JSON(便于二次开发与入库)、Markdown 表格(便于阅读与分享)、飞书格式文本(便于直接粘贴或写入),一次抓取三种用途。
- 飞书集成:配套
save_to_bitable.py脚本,可将抓取结果写入飞书多维表格,配合应用 token 与数据表 ID 即可完成落库。 - 动态页面渲染:使用 Playwright 渲染页面,针对 Angular 应用的动态加载做了适配,比直接请求 HTML 的手写脚本更稳。
- 与普通工具的区别:普通爬虫工具只给你“原始网页内容”,你需要自己定义解析规则、自己处理动态加载、自己考虑输出格式;这个技能把“取数 + 解析 + 格式化 + 落库”打包成开箱即用的能力,并用自然语言触发词降低了调用门槛。
如何使用该技能?
方式一:自然语言触发(推荐给非技术用户)
- 在已安装该技能的 AI 会话中,直接说出触发词,例如:“爬取 workingnomads”“获取远程工作”“workingnomads jobs”“爬取前端职位”“获取职位列表”。
- 技能被唤起后,按照你的描述决定抓取范围:是否需要只看前端方向、是否需要限制条数、是否需要保存到飞书。
- 抓取完成后,从返回结果或
output/workingnomads/目录中获取当天的输出文件。
方式二:命令行精细控制(推荐给开发者)
- 进入技能目录:
cd skills/workingnomads-jobs - 按需选择抓取策略:
- 全量默认抓取(默认 50 条):
node scripts/scrape-workingnomads.js - 只抓前端相关职位并限制 30 条:
node scripts/scrape-workingnomads.js --frontend --limit=30 - 按类别抓取工程类职位 20 条:
node scripts/scrape-workingnomads.js --category=engineering --limit=20
- 全量默认抓取(默认 50 条):
- 查看输出文件:
output/workingnomads/jobs-YYYY-MM-DD.json:原始数据,适合做二次分析或入库output/workingnomads/jobs-YYYY-MM-DD.md:Markdown 表格,适合直接贴到文档、周报或群聊output/workingnomads/jobs-feishu-YYYY-MM-DD.txt:飞书格式,适合粘贴或导入
- 如需写入飞书多维表格,执行:
python scripts/save_to_bitable.py -a APP_TOKEN -t tblXXX -f output/jobs.json,其中-a为应用 token、-t为目标数据表 ID、-f为待写入的 JSON 文件路径(相关权限配置以飞书官方说明为准)。 - 建议在抓取前明确“这次要什么”:是看新岗位增量,还是做某个技术栈的岗位盘点;目标越清晰,参数越好设,结果也越好用。
输入输出示例
| 输入方式 | 示例 | 输出 |
|---|---|---|
| 自然语言 | “爬取前端职位,最多 30 条” | 前端方向职位列表,含公司、薪资、技能要求,并生成当日 JSON 与 Markdown 文件 |
| 命令行 | --category=engineering --limit=20 |
工程类职位 20 条,落入 output/workingnomads/ 当日文件 |
| 飞书落库 | save_to_bitable.py -a ... -t ... -f ... |
数据写入指定多维表格,便于团队共享与筛选 |
同类型竞品对比分析
| 方案名称 | 定位 | 核心功能 | 安装/使用门槛 | 适用场景 | 优势与不足 |
|---|---|---|---|---|---|
| 远程工作职位爬取工具Skill(workingnomads-jobs) | 面向 workingnomads.com 的专用远程职位爬取技能 | 全站抓取、技术栈与类别筛选、结构化解析、JSON/Markdown/飞书三格式输出、飞书多维表格落库 | 需 Node.js 环境与技能安装;自然语言触发词可直接唤起,也可用命令行参数控制 | 远程求职者日常刷岗、招聘情报收集、薪酬与技能要求调研 | 优势:垂直场景开箱即用、动态渲染适配好、输出即用;不足:只覆盖单一站点,飞书落库需自行准备 token 与表 ID |
| 手动浏览 workingnomads.com | 最原始的获取方式 | 人工翻页、肉眼筛选、手动记录 | 零门槛 | 偶尔看一两眼新岗位 | 优势:无任何配置成本;不足:效率极低、无法批量留存、无法做横向对比分析 |
| 自写通用爬虫(Playwright/Puppeteer 脚本) | 通用网页抓取方案 | 完全自定义的抓取与解析逻辑 | 需具备爬虫开发能力,需处理反爬、动态加载、字段解析、输出格式 | 多站点长期采集、定制化数据管道 | 优势:灵活度最高;不足:开发与维护成本高,站点改版即需重写解析逻辑 |
| 远程职位聚合平台(如 Remote OK、We Work Remotely 等) | 通过平台订阅或 RSS 获取岗位 | 平台侧聚合展示、邮件/RSS 订阅 | 零或低门槛 | 广撒网式看岗位 | 优势:覆盖站点多;不足:无法按自己的字段结构落库,筛选维度受平台限制,数据难以与飞书或内部系统打通 |
选型建议:如果你只要 workingnomads.com 这一个站点的数据,并且希望结果直接能进表格,这个技能是成本最低的路径;如果你需要多站点统一采集,通用爬虫框架更合适,但要做好长期维护的心理准备。
该技能的典型应用场景与实际体验情况
场景一:前端工程师的日常刷岗
角色:正在看远程机会的前端开发者。痛点:每天手动翻列表,重复劳动,还容易错过新发布的岗位。使用方式:一句“爬取前端职位”,或执行 node scripts/scrape-workingnomads.js --frontend --limit=30,只看与自己技术栈匹配的岗位。实际体验:参数化筛选显著减少噪音,输出的 Markdown 表格可以直接丢进自己的求职跟踪文档;注意点是要坚持“定期抓取 + 对比增量”,单次抓取的价值有限,形成节奏后才真正省时间。
场景二:招聘方或 HR 的远程人才市场情报
角色:负责远程岗位招聘的 HR 或招聘运营。痛点:需要了解同类公司开出的薪资区间与技能要求,人工整理成表非常耗时。使用方式:按 --category=engineering 抓取工程类职位,输出 JSON 后做字段统计。实际体验:结构化字段让“薪资分布”“高频技能词”这类分析成为可能,比以前从网页上逐条摘录快了一个量级;注意点是页面字段本身可能缺失(部分岗位不公开薪资),需要在使用时接受一定的数据不完整率。
场景三:求职知识库与飞书协作
角色:习惯用飞书做个人或团队知识管理的人。痛点:抓到的数据散落在本地文件里,团队共享困难。使用方式:抓取后用 save_to_bitable.py 写入多维表格,按公司、技能、发布时间建立视图。实际体验:从“一句话指令”到“表格里出现数据”的链路很顺,多人可以基于同一张表做标注与跟进;注意点是需要提前准备应用 token 与数据表 ID,并确认相应权限已开通(以飞书官方说明为准)。
场景四:技术调研与趋势观察
角色:做技术选型或行业研究的人。痛点:想验证“某技术栈在远程岗位中的需求变化”,缺少可持续采集的数据源。使用方式:定期运行抓取脚本,积累按日命名的 JSON 文件。实际体验:文件名自带日期(jobs-YYYY-MM-DD.json),天然形成时间序列,便于后续做趋势对比;注意点是要控制抓取频率,避免对目标站点造成不必要的压力。
总体上手感受:触发词调用几乎没有学习成本,命令行参数的命名也足够直白(--frontend、--category、--limit),懂一点终端操作就能上手;真正的门槛在环境准备和飞书侧配置,而非技能本身。
该技能能为用户带来的价值
- 效率提升:把“打开网站、逐条浏览、复制字段、整理成表”的重复劳动,压缩为一句指令或一行命令,日常刷岗从十几分钟降到几十秒。
- 门槛降低:不写爬虫代码也能拿到结构化职位数据;需要精细控制时,参数化命令又给了技术用户足够的操作空间。
- 数据可用性提升:JSON、Markdown、飞书三种格式覆盖了“二次开发”“文档分享”“团队协作”三类需求,抓到的数据不会躺在本地吃灰。
- 长期价值:按日期归档的输出文件天然形成岗位数据库,持续积累后可用于薪酬区间追踪、技能需求变化分析,价值随时间复利增长。
- 工程稳定性:Playwright 渲染解决了 Angular 动态加载的问题,减少“抓到空数据”的反复调试成本,比临时写的一次性脚本更可靠。
常见问题 FAQ
Q1:这个技能怎么安装?需要准备什么?
A:通过所在 AI 平台的技能市场或技能分发渠道搜索 workingnomads-jobs 或「远程工作职位爬取工具」完成安装;运行前需具备 Node.js 环境,飞书落库还需准备应用 token 与数据表 ID。由于官方未在技能说明中给出统一安装命令,具体安装入口与命令请以官方说明为准。
Q2:使用这个技能收费吗? A:技能本身的功能说明中未涉及任何收费信息;实际是否收费取决于你获取该技能的渠道与平台政策,请以官方说明为准。
Q3:它和直接订阅 Remote OK、We Work Remotely 这类平台有什么区别? A:订阅类平台给你的是“平台展示的岗位列表”,筛选维度和字段结构由平台决定;这个技能给你的是“可落库的结构化数据”,字段、条数、输出格式都能自己控制,还能直接写进飞书多维表格。如果你只在网页上看岗位,订阅就够;如果你要把数据用起来,技能更合适。
Q4:抓不到数据或数据为空怎么办? A:先确认网络可正常访问 workingnomads.com,再检查 Playwright 浏览器内核是否已正确安装;此外注意筛选参数是否过窄(例如叠加了过严的关键词与类别筛选),可先用默认命令跑一次全量抓取做对照排查。
Q5:适合谁用?非技术背景能不能用? A:适合远程求职者、招聘与人才情报人员、做技术趋势调研的人。非技术用户可以直接用“爬取 workingnomads”“获取远程工作”等触发词调用,不接触命令;需要定制筛选或落库时,再按文档执行对应的命令即可。