auto_gen_com
这是大公司招聘网站的爬虫自动化模块,和之前学校就业网的模块是同一套架构,但针对企业招聘页面做了扩展。对比来看:
与上一个模块的区别
| 学校就业网模块 | 大公司招聘模块(本模块) | |
|---|---|---|
| 目标 | 学校就业网公告列表 | 企业招聘网站职位列表 |
| 提取字段 | 公告名称、时间、链接 | 额外增加部门、地点、人数、职位类别、薪资 |
| 翻页 | 无 | page_xxxxx.py 处理翻页 |
| 点击操作 | 无 | click_xxxxx.py 处理 Tab 切换 |
| 浏览器控制 | 无(静态 HTML) | Playwright(动态页面) |
三类文件的分工
gen_00001 是职位列表解析函数,比学校版本复杂得多——除了公告名和时间,还要提取 hd_dept(部门)、hd_loc(工作地点)、hd_job_num(招聘人数)、hd_job_category(职位类别)、hd_salary(薪资)。字段提取时有多个备选 CSS 类(比如地点先找 pos-locate,找不到再找 pos-workPlace),增强了容错性。
click_50001 负责处理页面上的 Tab 点击,比如先点"博士生招聘"筛选标签,再爬该 Tab 下的职位列表。用 Playwright 的 locator 实现,先试 label,找不到再试 span,也是双重容错。
page_00001 负责翻页控制,通过点击 DataTables 插件的"下一页"按钮实现分页爬取,并检测按钮是否有 disabled 类来判断是否到末页。
完整运行流程
启动爬取某公司招聘页
│
├─ click_xxxxx.py(可选)
│ 点击筛选 Tab(如"博士生招聘")
│
├─ 获取当前页 HTML
│ func_call.py → gen_000xx.py
│ 提取职位列表 → 写入 JSON
│
├─ 结果为空?
│ └─ func_gen_bygpt.py → GPT-4o 生成新解析函数
│
├─ page_xxxxx.py
│ 点击"下一页",重复上面步骤
│
└─ 按钮 disabled → 爬取结束
命名规则
文件名里的数字编号暗示了用途:gen_ 是解析函数,click_ 是点击操作,page_ 是翻页操作,后缀数字对应具体的公司或网站 ID,每家公司独立一套文件,互不干扰。
项目分区导航:gen_000xx ⬅️ | 00-auto_gen_com | ➡️ click_50001
💬 评论