SuperAPI AI 工具集

yc-jobs-scraper

通用与其它

查看项目

更新于 10-16 02:33

技能介绍

用途:从 YCombinator 与 workatastartup.com 抓取职位信息,适合需要每日更新 YC 公司职位数据的场景。

主要能力:采用混合架构提升可靠性并降低机器人检测。认证环节由 scripts/auth.js 使用 Playwright 让用户手动登录一次,并将会话保存到 scripts/state.json;数据库由 scripts/db.js 使用 better-sqlite3 管理 scripts/jobs.db,记录所有见过的 company_slug 与 job_id。主提取由 scripts/scraper.js 加载 state.json,访问 YC 查询 URL,从隐藏的 Inertia.js data-page JSON 载荷中提取公司 slug;随后访问已认证的公司页面 /companies/[slug],从后端 JSON 载荷提取职位以获取真实 job_id 用于准确去重;若 JSON 提取失败,则回退解析 ycombinator.com/companies/[slug]/jobs 的公开 HTML 职位卡片。

使用方式:首次运行需在 scripts 目录执行 npm install 与 npx playwright install。认证为手动步骤,若 state.json 缺失或过期,需运行 node auth.js,浏览器打开后由用户登录,Playwright 自动保存 cookies/tokens。日常抓取运行 node scraper.js,会输出新公司与新职位数量;因有 jobs.db,连续多次运行结果为 0 新职位。查询数据库可直接用 better-sqlite3,例如统计公司数或查看最近职位。

限制:认证需人工介入,state.json 过期会导致失败;去重依赖数据库状态;资料未提供抓取频率限制、平台条款或反爬策略等更多细节。