应公司 HR 的要求,编写一个爬取实习僧招聘网站的工具。本文将详细介绍如何分析请求、破解加密数据,并编写完整的爬虫程序。
分析请求
访问 实习僧,分析请求,发现 /app/interns/search/v2
请求存在关键信息
但是部分数据存在加密,手动复制页面的加密信息,复制出来却是乱码
乱码显示为研发实习
,此我们可以断定数据是通过字体形式加密的。
破解字体文件
分析请求,找出字体文件,并下载,命名为 shixiseng.woff
通过 FontCreatorPortable 工具,打开字体文件
记录的字体映射数据如下:
1 | font_list = [ |
解析字体文件的代码如下:
1 | from fontTools.ttLib import TTFont |
打开 shixiseng.xml
文件 , cmap
字段中的 code
值为加密数据,name
值通过 字体图 可反查出真实数据。
通过字体文件,编写解密程序
1 | from fontTools.ttLib import TTFont |
以下是完整的爬取代码:
1 | import re |
打包程序
最后,将程序打包成一个可执行文件:
1 | pyinstaller -F app.py |