月薪20k+爬虫工程师必备技能-字体反爬

现在越来越多的网站为了反爬虫已经开始在字体上下功夫了,主要表现为在浏览器上文字显示正常,但是用爬虫抓取下来的却是乱码。比如58同城、猫眼电影、实习僧等网站。不过一般字体反爬只会针对一些数字而不是全部文字,为什么这样?看下面的细节就知道啦。

字体反爬原理:

  1. 网页开发者自己创造一种字体,因为在字体中每个文字都有其代号,那么以后在网页中不会直接显示这个文字的最终的效果,而是显示他的代号,因此即使获取到了网页中的文本内容,也只是获取到文字的代号,而不是文字本身。

  2. 因为创造字体费时费力,并且如果把中国3000多常用汉字都实现,那么这个字体将达到几十兆,也会影响网页的加载。一般情况下为了反爬虫,仅会针对0-9以及少数汉字进行自己单独创建,其他的还是使用用户系统中自带的字体。

寻找自定义字体:

  1. 一般情况下为了考虑网页渲染性能,通常网页开发者会把自定义的字体编码成base64的方式,因此我们可以到网页中找到@font-face属性,然后获取里面的base64代码,再用Python代码进行解码,然后再保存本地。示例:view-source:https://www.shixiseng.com/intern/inn_a7xabqqr4f9u。示例图如下: 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值