hwt字体转换ttf_python 58 字体反爬

本文介绍了如何处理网站使用CSS3的@font-face进行字体反爬的问题,以58同城房产详情页为例,详细阐述了从解码base64字体文件到提取字体映射关系的过程,包括使用FontCreator工具,转换ttf为xml文件,利用fontTools库获取映射关系,以及如何在内存中处理二进制流。
摘要由CSDN通过智能技术生成

在爬取网站时,部分网站是设置了字体反爬的,即我们肉眼看到的数据(譬如:1234)和网页源码上显示的数据(譬如:鑶鸺龤)并不一致。

这个,其实是因为网页采用了 CSS3 的 @font-face 模块自定义字体文件导致的。

@font-face 是 CSS3 中的一个模块,作用是把自定义的 Web 字体嵌入到网页中。

@font-face 语法规则:

@font-face {
    font-family: <YourWebFontName>;
    src: <source> [<format>][,<source> [<format>]]*;
    [font-weight: <weight>];
    [font-style: <style>];
}

值说明:
YourWebFontName: 自定义的字体名称
source: 自定义的字体的存放路径,可以是相对路径也可以是绝路径
format:自定义的字体的格式,包含 truetype,opentype,truetype-aat,embedded-opentype,svg等
font-weight:定义字体是否为粗体
font-style:定义字体样式,如斜体

下面,本文以 58同城 作为例子讲解。

步骤

  1. 用浏览器打开 https://cd.58.com/chuzu/ ,随机点击一个房源,在其详情页查看价格处网页元素

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值