监控来源

这一页说明哪些来源默认可用、哪些需要你自备凭据、招聘页要填哪个地址、JSON 接口认哪些字段,以及抓取时遵守的规矩。

默认可用

  • 公司官方招聘页与它们的 RSS / JSON 接口。
  • 公开汇总页(例如 Web3 岗位表):这类页面在浏览器里才渲染,系统用一个只在抓取时启动、抓完就退出的渲染进程处理;也可以直接导出 CSV/Markdown 上传,效果一致。
  • 手动导入:上传 CSV 或 Markdown 表格,走与自动抓取完全相同的入库与去重流程。

招聘页要填哪一个地址

通用招聘页适配器读的是页面里的 schema.org JobPosting 结构化数据,比按 CSS 选择器猜版面稳定得多。

但要按实测来填: 抽查九家大公司(JetBrains、Vercel、Figma、Notion、Sentry、PostHog、Tailscale、Ashby、Cloudflare)的招聘总览页, 没有一个在列表页内嵌 JobPosting——这类页面是前端渲染的;结构化数据出现在单个职位的详情页上。

所以请填详情页(或对方提供的 feed)的地址,填总览页会被如实报告为「结构不符」而不是静默抓零条。

JSON 接口认哪些字段

认这些外层数组:postings、jobs、items、data、results,或直接给一个数组。 每条里的列名按真实接口取:title、company、city、salary、salary_min、salary_max、url,其余别名见下表。

JSON 接口的列名对照:每条记录按真实接口取用下表中的列名。
字段可接受的列名
公司company / company_name
城市city / candidate_required_location
时间publishedAt / publication_date / date
薪资salary,或 salary_min 与 salary_max 两个数字

数字 0 按「未标注」处理,不当成 0 元;没有写货币或周期的薪资只打标签,绝不折算成月薪去比。 认不出的键忽略,不猜。

需要你自备凭据(默认关闭)

BOSS直聘、脉脉、领英有登录墙,并且它们的条款禁止未授权抓取。本工具不会替你绕过这些限制, 这三个适配器在服务器上默认关闭;启用它需要部署方(运营者)在服务端填入平台方授予的 API 权限或授权凭据, 账户页面里没有这个开关。

你已经看到的岗位随时可以走「导入」:CSV、Markdown 表格或 NDJSON 上传, 与自动抓取走同一条入库与去重路径,任何情况下都能用。

抓取规矩

每个来源都有按域名的请求频率上限、单次页数上限、字节上限与超时;遵守 robots.txt,未明确允许即视为禁止; 使用 ETag / Last-Modified 的条件请求,让没有变化的页面不产生重复入库;遇到 429 或服务器错误按退避重试。

某来源连续多次返回空结果会被标记为「退化」并停止推送空摘要,因为抓取结构变了和「今天没有新岗位」看起来是一样的。

robots.txt 按它真正的语法读:规则是「前缀 + 通配符」。具体到几种写法:

Disallow: /api/*
前缀 + 通配符,会挡住 /api/remote-jobs。
结尾的 $
表示必须到此结束。
/*?action=get_jobs
带查询串的写法也会生效。
较长的 Allow
可以重新开放被 Disallow 盖住的子路径。
Crawl-delay
站点写了时按它放慢,不因我们自己设了更快的频率而抢先。

读不到 robots.txt(5xx、超时、连不上)同样不抓,但那是「暂时不知道规则」,记为「退化」并在下一轮重试; 只有站点自己回了 401/403 或命中禁止规则,才记为「已禁止」。