实习僧字体反爬全站数据采集产品系统

我要开发同款
nianchen2026年04月03日
6阅读

技术信息

语言技术
Python
系统类型
Windows
行业分类
脚本插件
参考价格
500
演示地址
https://github.com/nianchen8/shixiseng-font-anti-crawler

作品详情

行业场景

招聘平台(如实习僧)为保护岗位薪资、企业规模等敏感信息,采用动态字体反爬技术。每次请求返回的页面都使用不同的自定义字体(woff文件),将关键数字和文字渲染为乱码符号,导致普通爬虫无法直接获取真实数据。本项目旨在解决“动态字体反爬”场景下的数据采集难题。业务背景包括招聘市场分析、薪资监测、岗位需求统计等,需要批量获取真实的招聘信息。通过每次请求时动态下载对应字体文件并建立OCR映射,可稳定还原出正确的薪资、天数等数值,适用于招聘、房产、二手车等多个行业。

功能介绍

全站自动翻页:从页面提取总页数,逐页爬取招聘信息。

动态字体下载与解析:每次请求页面后,从HTML中提取本次特有的字体文件URL(woff格式),下载到本地。

字体到真实字符的映射:使用fontTools读取字体中的所有Unicode编码,通过Pillow将每个字符渲染成白底黑字的图片,再利用easyocr识别图片中的真实数字/汉字,建立本次请求专属的映射字典。

数据解密与提取:遍历岗位卡片,提取职位、公司、薪资、城市、每周天数、持续月数、标签、行业、企业规模、企业描述等字段,其中加密部分通过映射字典解密。

数据导出Excel:将所有字段保存为结构化的Excel文件,便于分析和报表生成

项目实现

我负责的任务:独立完成需求分析、代码编写、测试与优化,包括异常处理和自动清理。

技术栈:Python + requests(网络请求)、lxml(XPath解析)、re(正则提取字体URL)、fontTools(字体解析)、Pillow(图像生成)、easyocr(OCR识别)、openpyxl(Excel导出)。

实现亮点:

动态处理每次请求不同的字体文件,适应实习僧的高频变化策略。

完善的异常处理:字体下载失败或OCR识别失败时自动降级,不影响主流程。

自动清理临时字体文件,不残留垃圾。

支持全页大规模数据采集,代码结构清晰,注释详细。

难点与解决:每次请求的字体文件都不同,无法复用映射表。解决方法是每次请求页面后立即下载对应的字体文件,建立新映射,然后解密当前页数据,确保每页都能正确还原。

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论