@font-face笔记

在写爬虫时,有时会遇到字体反爬,爬取的网站在看源码时会出现乱码,或者位置错乱等现象,这就是字体反爬了

首先需要了解下dataurl:

Data URLs 由四个部分组成:前缀(data:)、指示数据类型的MIME类型、如果非文本则为可选的base64标记、数据本身:

data:[<mediatype>][;base64],<data>

dataurl可以给数据做编码,编码格式为base64

第二你要知道

CSS有一种标记叫做@font-face,在@font-face声明里,可以声明一种字体,指定这种字体库文件从网络中的某个地方下载

这两种相结合就出现了下面这种情况

@font-face {
  font-family: 'xxxxx字体'; src: url(data:application/font-woff;charset=utf-8;base64, ... ) format('woff'), /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ }

对这种情况的破解,需要把base64编码转换成ttf文件,再用python模块解析,待续。。。

参考网址:

https://developer.mozilla.org/zh-CN/docs/Web/HTTP/data_URIs#Encoding_data_into_base64_format

http://www.webhek.com/post/font-face.html

https://www.cnblogs.com/fxair/p/3867141.html

文件的操作格式:https://www.cnblogs.com/xiaoming279/p/6372860.html

https://zhuanlan.zhihu.com/p/33112359

https://blog.csdn.net/qq_42336573/article/details/80698580

https://blog.csdn.net/qq_31032181/article/details/79153578

猜你喜欢

转载自www.cnblogs.com/Robertzewen/p/9509022.html
今日推荐