跳到正文

应用案例

从需要翻页、懒加载或登录才能查看的招聘网站上采集职位。先用 scrape_with_actions 驱动真实浏览器让列表渲染出来,再用 extract_structured 把各家网站千差万别的版式统一映射到同一份 JSON 结构上。
预估费用:每个列表页约 8 credits

01快速解答

用 scrape_with_actions(5 credits)点击“加载更多”、滚动页面或登录,让职位真正渲染出来,再用 extract_structured(3 credits)把每条职位映射到你自己的 JSON 结构——职位名称、地点、薪资、是否远程。每个列表页大约 8 credits,一份结构定义就能覆盖标记各异的多家网站。

02问题与方案

面临的问题

招聘网站把职位藏在“加载更多”按钮、无限滚动和登录墙背后,普通的 HTTP 请求只会拿到一个空壳。而且每家网站给字段的命名都不一样,只要对方改版,基于选择器的爬虫就会失效。

解决方案

CrawlForge 的 scrape_with_actions 会驱动一个真实浏览器——点击、输入、滚动、等待——让职位列表在提取前完成渲染,extract_structured 则把各家网站的任意标记映射到你自己定义的同一份 JSON 结构上。

03代码

代码示例

job-listing-aggregation.js
// Load a paginated board, then extract each posting as JSONconst board = await mcp.scrape_with_actions({  url: "https://boards.example.com/jobs?team=engineering",  actions: [    { type: "wait", selector: ".job-card", condition: "visible" },    { type: "click", selector: "button.load-more", clickCount: 3 },    { type: "scroll", direction: "down", distance: 4000 },  ],  formats: ["json", "markdown"],}); // One schema, any board layoutconst posting = await mcp.extract_structured({  url: "https://boards.example.com/jobs/senior-backend-engineer",  schema: {    type: "object",    properties: {      title: { type: "string" },      location: { type: "string" },      salaryRange: { type: "string" },      remote: { type: "boolean" },      postedAt: { type: "string" },    },    required: ["title"],  },}); console.log(posting.data);

04工具链

使用的工具

11◆ credits
预估费用:每个列表页约 8 credits
  1. https://…
  2. 01scrape_with_actions 5 credits
  3. 02extract_structured 3 credits
  4. 03browser_session 3 credits
  5. JSON · markdown

05常见问题

常见问题

01如何抓取使用无限滚动的招聘网站?

用 scrape_with_actions 驱动真实浏览器:等待职位列表的选择器出现,点击“加载更多”按钮,并在提取前滚动页面。职位会先渲染出来,因此你拿到的是真实内容,而不是一个空壳。

02CrawlForge 能抓取登录之后的页面吗?

可以。scrape_with_actions 支持输入和点击动作,还支持 formAutoFill,因此可以提交凭据并抓取随后出现的页面。请只登录你本人拥有或已获授权访问的账号。

03如何把标记结构各异的网站职位统一成同一种格式?

定义一份 JSON 结构——职位名称、地点、薪资区间、是否远程、发布日期——并把它传给 extract_structured。它会把每家网站的标记映射到你的结构上;在没有配置 LLM 时,则回退到 CSS 选择器。

04聚合一个招聘网站要花多少 credits?

每个列表页大约 8 credits:scrape_with_actions 的浏览器抓取占 5 credits,对每条职位调用一次 extract_structured 各占 3 credits。如果你每天要拉取上百个详情页,请改用 batch_scrape。

开始锻造

准备好开始了吗?

每个新账户均可获得 1,000 个免费 credits,无需信用卡。