目录
- 1.1 网页分析
- 1.2 字体反扒机制
- 1.3 构造字典
- 1.4 创建表
- 1.5 根据自己的需要进行修改
又到了一年一度的秋招了,由于受疫情的影响,部分公司减少了数据分析相关岗位的实习名额,为了更了解秋招的相关岗位信息,这里针对实习僧 网站链接 的数据分析实习信息进行了爬取以及分析。
1.1 网页分析
进入实习僧首页,输入关键词:数据分析,并把搜索范围限定在全国,这样我们就可以看到相关的实习信息。
右键检查,我们会发现,有些文字内容显示不全,被某些字符替代
这就涉及到了字体反扒机制。
1.2 字体反扒机制
字体反爬,也就是使用自定义某些字体来替换网页中的某些字体来实现反爬。上图所示就是用’’来代替了’师’。通过调用自定义的ttf文件来渲染网页中的文字,使得网页中的文字编程了相应的字体编码,这样用户看到的正常的文字,实际上仅仅通过复制或者简单的采集是无法获取我们想要的信息。
我们可以将实习僧的字体文件下载到本地,通过fontTools库将字体文件以xml的形式展示出来。
1.3 构造字典
参考字体反爬之实习僧
我们可以通过正则表达式提取xml中的字体的unicode,并将其通过encode(‘utf-8’)进行编码,再通过decode(‘unicode_escape’)解码出汉字。把字体的编码当成key,真实的字体当成value,构造成替换字典。
1.4 创建表
在MySQL中创建数据库,命名为’shixiseng’,创建表info,其中字段为:
1.5 根据自己的需要进行修改
(1)由于参考的代码中查询的是算法的实习信息,这里可以根据需求进行修改
(2)参考的代码中是将数据存储到了MongoDB中,根据需要将数据存储到了MySql
代码链接:https://github.com/guotianyi960531/shixiseng_Dataget
参考链接:
[1]: 腾讯云:字体反扒之实习僧.
[2]: 知乎:反爬终极方案总结—字体反爬.
[3]: 简书:Python爬虫杂记 - 字体文件反爬(二).