中文字体反爬,易易易易易易【Python脱敏】车车车车车车车车

@

⛳️ 易 实战场景 车

本次字体反爬案例对应的是【易车】点评频道,该站点使用了字体反爬技术,并且是中文字符反爬,可以重点研究下。

站点地址如下所示(全角字符)

https://dianping.yiche.com/

打开目标站点任意链接之后,可以通过开发者工具发现,其文字部分存在大量的混淆字符。

中文字体反爬,易易易易易易【Python脱敏】车车车车车车车车
既然已经发现了字体混淆,那接下来我们再夯实一下字符矢量图相关知识,下载易车的一个字体文件。

中文字体反爬,易易易易易易【Python脱敏】车车车车车车车车
字体文件是通过 unicode 编码,然后对应字体文件。
浏览器实现原理是通过传递字符的字节码,转换成 unicode 编号,然后在字体文件中找到字体矢量图,如果没有字体文件,会在系统自带的字体中寻找矢量图。

上图中 uni6211 对应的就是汉字 的编码。

⛳️ 易 实战编码 车

有了多篇字体反爬的经验,我们很容易发现本次的目标站点使用了固定的字体文件,名称为 yc-ft.woff,其中包含了 473 个特殊汉字。

接下来只需要将字体文件编码和汉字的对一个关系读取出来即可。

from fontTools.ttLib import TTFont

font = TTFont('fonts/yc-ft.woff')
print(font)

font_map = font['cmap'].getBestCmap()
print(font_map)

网页响应的源码格式如下所示:

车也

其中  就是对应的字符,然后 e3d0 对应到字体矢量图中,对应的是 字。

中文字体反爬,易易易易易易【Python脱敏】车车车车车车车车

📢📢📢📢📢📢
💗 你正在阅读 【梦想橡皮擦】 的博客
👍 阅读完毕,可以点点小手赞一下
🌻 发现错误,直接评论区中指正吧
📆 橡皮擦的第 673 篇原创博客

从订购之日起,案例 5 年内保证更新

Original: https://www.cnblogs.com/happymeng/p/16347283.html
Author: 梦想橡皮擦
Title: 中文字体反爬,易易易易易易【Python脱敏】车车车车车车车车

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/564761/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • matplotlib数学绘图库——折线图,内置样式中文问题解决方法

    安装:只需要安装matplotlib函数库即可,pip install matplotlib 因为matplotlib中无法显示中文(没有中文字体库),所以需要添加以下代码: im…

    Python 2023年9月1日
    043
  • gbk编解码器无法解码的问题,有可能出题出在文件名上

    今天运行的一段程序,以前一直没问题,今天却一直报错: 我的程序里应用到读取csv文件,于是用到了下面这一段程序 dfz2 = pd.read_csv(filepath_or_buf…

    Python 2023年8月9日
    056
  • 软件测试方法总结

    一,软件测试的方法 1,白盒测试: 又称为结构测试或逻辑驱动测试,是一种按照程序内部逻辑结构和编码结构,设计测试数据并完成测试的一种测试方法。 2,黑盒测试: 又称为数据驱动测试,…

    Python 2023年8月3日
    040
  • Flask08_post请求

    实验三 移植U-Boot-1.3.1 实验 【实验目的】 了解 U-Boot-1.3.1 的代码结构,掌握其移植方法。 【实验环境】 1、Ubuntu 7.0.4发行版 2、u-b…

    Python 2023年8月14日
    044
  • 数据分析作业三

    目录 作业 * 作业一 作业二 答案 * 作业一 – 1 2 3 4 5 6 作业二 – 1 2 3 4 作业 作业一 参考代码 data = { &quo…

    Python 2023年8月22日
    052
  • 深度学习之tensorflow2实战:多输出模型

    欢迎来到CNN实战,尽管我们刚刚开始,但还是要往前看!让我们开始吧! 数据集 链接:https://pan.baidu.com/s/1zztS32iuNynepLq7jiF6RA提…

    Python 2023年10月24日
    048
  • vue3+flask前后端分离环境速建

    vue3+flask前后端分离环境速建 前言 版本说明 正文 * 前端 后端 前言 在学习 前后端分离的web开发过程中,发现现有的教程基本围绕 vue2.x进行,而 vue3.x…

    Python 2023年8月10日
    087
  • Flask 物联网局部应用情景

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

    Python 2023年8月15日
    038
  • 练习1:登录和注册的数据交互的练习(前端不分离)

    1、新建pycharm.project. 2、新建app并激活app:在终端执行命令:python manage.py startapp demo ,如果没有创建成功,试着重启一下…

    Python 2023年6月12日
    043
  • 虎牙直播数据采集,为数据分析做储备,Python爬虫120例之第24例

    今天要抓取的是虎牙频道的直播页,本篇博客的学习重点,依旧是多线程爬虫。 ; 目标数据分析 本次要采集的数据列表呈现如下,其中数据在切换时,来自于服务器接口,故本案例为面向接口的多线…

    Python 2023年8月6日
    058
  • 项目的容器化部署

    ### 回答1: Shell脚本自动 化 部署_是一种自动 _化 部署_的方式,可以通过编写Shell脚本来自动完成软件 _部署、配置等一系列操作,从而提高 部署_效率,减少错误和…

    Python 2023年8月14日
    070
  • Numpy

    目录 1、Numpy的核心array array对象的背景: array本身的属性 创建array的方法 2、Numpy的核心array array对象的背景: Numpy的核心数…

    Python 2023年8月26日
    041
  • python爬虫遇到的坑3——关于scrapy中的URL

    第一个坑 我们在使用scrapy的时候都要先创建项目是吧这个就不多说的。 基本的目录结构就是这样,懂的都懂,也不多做解释了: 我就是在这里遇到的坑。 这里面有个pipelines的…

    Python 2023年10月3日
    026
  • Pygame屏幕绘制机制(壁球小游戏“可控制屏幕大小”)

    一,Pygame绘制机制简介 用来控制Pygame游戏的屏幕;Pygame有且只有一个屏幕;屏幕左上角坐标为(0,0); 以像素为单位 二,屏幕控制需求 1.游戏全屏 2.游戏屏幕…

    Python 2023年9月20日
    058
  • ssrfme(flask代码审计)

    源码 from flask import Flask from flask import request import socket import hashlib import u…

    Python 2023年8月13日
    040
  • 数组、切片(包括字符串):“append” 方法的机制

    数组是编程语言中最常见的一个概念。数组看起来很简单但却有许多问题需要在加入编程语言中解答,比如: 固定大小还是可变大小? 大小作为类型的一部分吗? 多维数组应该是什么样子? 空数组…

    Python 2023年6月3日
    083
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球