本项目为 51job 招聘网站的爬虫系统,由我独立开发,主要实现职位信息的自动化采集与本地存储。
系统包含以下核心功能模块:
- 关键词搜索与多页翻页控制
- 职位列表与详情页数据提取
- 动态页面处理(Selenium + 显式等待)
- 反爬策略(随机延迟、无头模式、自动化特征隐藏)
- 数据清洗与结构化存储
- 文件自动命名与重名版本控制
- 日志系统记录运行状态
我在项目中负责全部开发工作,包括需求分析、技术选型、代码实现、异常处理与调试。
技术栈方面,主要使用 Python + Selenium + lxml + logging,采用面向对象方式组织代码,工具函数独立封装,提升复用性。
实现难点与解决思路:
- 动态加载页面:通过显式等待 + 滚动触发解决
- 文件重名问题:自定义版本号算法,自动生成不重复文件名
- 反爬策略:模拟人工输入、随机延迟、无头模式组合使用
- 路径与权限:自动检测磁盘空间、多路径备选写入
项目目前已稳定运行,累计采集数据 500 条以上,代码结构清晰,具备基础可维护性。