项目来源:公司拓宽业务,想针对全网民办学校或者私企招聘信息进行整理,提高app的用户面向范围项目周期:2025年3月到2025年6月
项目背景与目标:依据公司规划与产品经理沟通针对全网招聘信息的进行实时采集需求,要求能够持续运行,且能够分频率针对各个网址进行设定,实时采集确保职位的实时性,有针对网络编辑部门的自动化采集页面。
智能源码抓取引擎:基础抓取层使用定制化Requests组件发送请求,植入动态请求头(包含自动轮换的User-Agent池和Cookies策略)渲染层自动切换到Playwright无头浏览器执行智能渲染,遇到瑞数反爬等则通过单独编写spider进行数据爬取
智能分级清洗系统:首先进行标题的规则匹配,建立多维度匹配规则库(正则表达式+关键词权重算法),通过时间维度,关键词,排除此,联合词等规则进行权重匹配,如含有排除词考编等则直接排除,含有关键词两个如教师,招聘则通过一轮筛选;接着是公告内容解析清洗,使用XPath/CSS定位主体容器,避开干扰区块(广告/侧边栏/评论区),接着仍然使用正则和关键词权重进行确认是否为招聘信息
数据存储:在进行源码抓取以及清洗的时候进行实时数据标注,(如 JS渲染标注,反爬识别),同时也保存url的访问状态码等信息,最后将url以及相关信息存入Redis中间件中进行hash去重,确保数据不重复,接着存入Mysql中完成最后的数据保存。
整个项目开发周期中,团队使用git进行代码管理,开发是前后端分离,前端使用php进行web页面制作,后端主要使用python完成了整个数据采集开发,从中我完成了主要的爬虫以及清洗代码编写,顺利完成项目开发。